Part Number Hot Search : 
DB101 TLOU114P P5401 SA20C TEA202 LVC08 MLX71122 KIA4558S
Product Description
Full Text Search
 

To Download NET2890 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  n etchi p technolo gy, inc. 335 pioneer way mt view, california 94041 (650) 526-1490 fax (650) 526-1494 e-mail: sales@netchip.com internet: www.netchip.com NET2890 usb interface controller specification for revision 2 ic doc #: 605-0057-0209 revision: 2.0 draft 9 date: 7/16/99
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 2 this document contains material that is confidential to netchip. reproduction without the express written consent of netchip is prohibited. all reasonable attempts were made to ensure the contents of this document are accurate, however no liability, expressed or implied is guaranteed. netchip reserves the right to modify this document, without notification, at any time. revision history revision issue date comments 1.0 draft 1 june 30, 1997 initial spec. based on net2888 rev 2 draft 3 1.0 draft 2 july 24, 1997 modified register architecture 1.0 draft 3 october 4, 1997 more register modifications 1.0 draft 4 october 6, 1997 more register modifications (mainctl, irqstat1, irqstat3, irqenb1, irqenb3, fifostat, fifointenb 1.0 draft 5 november 19, 1997 clarify some register descriptions 2.0 draft 1 january 17, 1998 initial specification for NET2890 revision 2. 2.0 draft 2 february 13, 1998 update some registers 2.0 draft 3 march 2, 1998 update some registers; change ?mapped? to ?paged? register nomenclature 2.0 draft 4 march 12, 1998 added some new register bits. clarified sections of documentation. 2.0 draft 5 march 23, 1998 finalize changes to revision 2. 2.0 draft 6 april 3, 1998 clarify some sections. 2.0 draft 7 aug 24, 1998 clarify fifo valid and fifo processing 2.0 draft 8 feb 21, 1999 update ac timing, and dc specifications 2.0 draft 9 july 16, 1999 update endpoint maximum packet length defaults, i/o timing. change output resistance in 7.4.1
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 3 NET2890 usb interface controller 1. highlights ................................................................................................................... ................... 7 1.1 f eatures ............................................................................................................................... ......... 7 1.2 o verview ............................................................................................................................... ........ 7 1.3 NET2890 b lock d iagram ............................................................................................................ 9 1.4 NET2890 t ypical s ystem b lock d iagram ................................................................................ 9 1.4.1 pin changes ............................................................................................................... ........... 10 1.4.2 register changes .......................................................................................................... ........ 10 1.4.3 functional changes ........................................................................................................ ...... 10 1.5 c hanges f rom r ev 1 to r ev 2................................................................................................... 10 1.5.1 pin changes ............................................................................................................... ........... 10 1.5.2 register changes .......................................................................................................... ........ 10 1.5.3 functional changes ........................................................................................................ ...... 12 1.5.4 documentation changes ..................................................................................................... .. 12 2. pin connection diagram ...................................................................................................... 1 3 3. pin description .............................................................................................................. ............. 14 4. functional description ....................................................................................................... 17 4.1 usb i nterface ............................................................................................................................ 17 4.2 usb p rotocol ............................................................................................................................ 17 4.2.1 tokens .................................................................................................................... ............... 17 4.2.2 packets ................................................................................................................... ............... 17 4.2.3 transaction ............................................................................................................... ............ 17 4.2.4 transfer.................................................................................................................. ............... 17 4.3 a utomatic r etries ..................................................................................................................... 18 4.3.1 out transactions.......................................................................................................... ......... 18 4.3.2 in transactions ........................................................................................................... .......... 18 4.4 p acket l engths .......................................................................................................................... 18 4.5 usb e ndpoints ............................................................................................................................ 18 4.5.1 control endpoint - endpoint 0 ............................................................................................. 18 4.5.2 control write transfer details ............................................................................................ .20 4.5.3 isochronous endpoints..................................................................................................... ..... 23 4.5.4 bulk endpoints ............................................................................................................ .......... 25 4.5.5 interrupt endpoints....................................................................................................... ........ 27 4.6 fifo s ............................................................................................................................... ............. 28 4.6.1 in fifos.................................................................................................................. ............. 28 4.6.2 out fifos................................................................................................................. .......... 29 4.7 i nterrupt and s tatus r egister o peration ............................................................................ 29 4.7.1 interrupt status register 1 (irqstat1) ............................................................................... 29 4.7.2 interrupt status register 2 (irqstat2) ............................................................................... 29 4.7.3 endpoint response registers (eprspset, eprstclr) ..................................................... 29 4.7.4 endpoint interrupt status register (epirqstat)................................................................ 29 4.8 l ocal b us ............................................................................................................................... ..... 30 4.8.1 maximum throughput........................................................................................................ ... 30 4.8.2 dma transfers from NET2890 to local bus........................................................................ 31 4.8.3 dma transfers from local bus to NET2890........................................................................ 31 4.8.4 terminating dma transfers ................................................................................................. 32 4.9 s uspend m ode ............................................................................................................................. 33 4.9.1 the suspend sequence ...................................................................................................... .... 33 4.9.2 host-initiated wake-up .................................................................................................... .... 33
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 4 4.9.3 device-remote wake-up ..................................................................................................... .33 4.9.4 resume interrupt.......................................................................................................... ......... 33 4.10 r oot p ort r eset ......................................................................................................................... 34 4.11 NET2890 p ower c onfiguration ............................................................................................... 34 4.11.1 bus-powered device ....................................................................................................... ...... 34 4.11.2 self-powered device ...................................................................................................... ....... 34 4.11.3 low-power modes .......................................................................................................... ...... 35 5. configuration registers .................................................................................................... 36 5.1 r egister d escription ................................................................................................................. 36 5.2 r egister s ummary ..................................................................................................................... 36 5.2.1 base registers (unpaged).................................................................................................. ..... 36 5.2.2 endpoint / fifo registers (paged) ....................................................................................... 37 5.2.3 setup packet registers (paged)............................................................................................ .. 37 5.2.4 indexed registers ......................................................................................................... .......... 38 5.3 b ase r egisters ............................................................................................................................ 39 5.3.1 (address 00h; pagesel) paged register select ................................................................. 39 5.3.2 (address 01h; mainctl) main control register ................................................................ 39 5.3.3 (address 02h; dmactl) dma control register ................................................................. 39 5.3.4 (address 03h; irqstat1) interrupt status register 1 ......................................................... 40 5.3.5 (address 04h; irqstat2) interrupt status register 2 ......................................................... 40 5.3.6 (address 06h; idxaddr) index register address............................................................... 41 5.3.7 (address 07h; idxdata) indexed register data ................................................................ 41 5.3.8 (address 0bh; pktlenlsb) packet length (lsb) .............................................................. 41 5.3.9 (address 0ch; pktlenmsb) packet length (msb)............................................................ 41 5.4 e ndpoint / fifo r egisters ........................................................................................................ 42 5.4.1 (address 10h; epcfg) endpoint configuration register (one per endpoint) .................... 42 5.4.2 (address 11h; eprspset) endpoint response set register (one per endpoint) ................ 43 5.4.3 (address 12h; eprspclr) endpoint response clear register (one per endpoint)............ 44 5.4.4 (address 13h; epirqenb) endpoint interrupt enable register (one per endpoint) .......... 45 5.4.5 (address 14h; epirqstat) endpoint interrupt status register (one per endpoint) .......... 45 5.4.6 (address 15h; epusbstat) endpoint usb status register (one per endpoint)................. 46 5.4.7 (address 16h; epdout) endpoint data out register (one per endpoint) ......................... 46 5.4.8 (address 17h; epdin) endpoint data in register (one per endpoint)................................ 46 5.4.9 (address 1ah; fifocnt) fifo count register (one per endpoint)................................... 47 5.4.10 (address 1ch;fifoctl) fifo control register (one per endpoint) ................................. 47 5.4.11 (address 1eh;fifostat) fifo status register (one per endpoint) .................................. 47 5.5 s etup r egisters .......................................................................................................................... 48 5.5.1 (address 10h; setup0) setup byte 0................................................................................... 48 5.5.2 (address 11h; setup1) setup byte 1................................................................................... 48 5.5.3 (address 12h; setup2) setup byte 2................................................................................... 48 5.5.4 (address 13h; setup3) setup byte 3................................................................................... 48 5.5.5 (address 14h; setup4) setup byte 4................................................................................... 49 5.5.6 (address 15h; setup5) setup byte 5................................................................................... 49 5.5.7 (address 16h; setup6) setup byte 6................................................................................... 49 5.5.8 (address 17h; setup7) setup byte 7................................................................................... 49 5.6 i ndexed r egisters ...................................................................................................................... 50 5.6.1 (index 00h; localctl) local bus control ........................................................................ 50 5.6.2 (index 01h; ouraddr) our usb address register ........................................................... 50 5.6.3 (index 02h; irqenb1) interrupt enable register 1............................................................. 50 5.6.4 (index 03h; irqenb2) interrupt enable register 2............................................................. 51 5.6.5 (index 07h; framelsb) frame counter (lsb) .................................................................. 51 5.6.6 (index 08h; framemsb) frame counter (msb) ................................................................ 51 5.6.7 (index 0ch; diag) diagnostic register............................................................................... 52
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 5 5.6.8 (index 10h; ep0pktsizlsb) ep0 max packet size (lsb) .................................................. 52 5.6.9 (index 12h; epapktsizlsb) epa max packet size (lsb) ................................................. 52 5.6.10 (index 13h; epapktsizmsb) epa max packet size (msb) ............................................... 52 5.6.11 (index 14h; epbpktsizlsb) epb max packet size (lsb) ................................................. 52 5.6.12 (index 15h; epbpktsizmsb) epb max packet size (msb) ............................................... 53 5.6.13 (index 16h; epcpktsizlsb) epc max packet size (lsb)................................................. 53 5.6.14 (index 17h; epcpktsizmsb) epc max packet size (msb)............................................... 53 5.6.15 (index 18h; epdpktsizlsb) epd max packet size (lsb) ................................................ 53 5.6.16 (index 19h; epdpktsizmsb) epd max packet size (msb) .............................................. 53 5.6.17 (index 20h; f0_aeth) fifo 0 almost empty threshold register...................................... 53 5.6.18 (index 22h; f0_afth) fifo 0 almost full threshold register ......................................... 54 5.6.19 (index 24h; fa_aeth) fifo a almost empty threshold register ..................................... 54 5.6.20 (index 26h; fa_afth) fifo a almost full threshold register ........................................ 54 5.6.21 (index 28h; fb_aeth) fifo b almost empty threshold register ..................................... 54 5.6.22 (index 2ah; fb_afth) fifo b almost full threshold register ........................................ 54 5.6.23 (index 2ch; fc_aeth) fifo c almost empty threshold register .................................... 54 5.6.24 (index 2eh; fc_afth) fifo c almost full threshold register........................................ 54 5.6.25 (index 30h; fd_aeth) fifo d almost empty threshold register .................................... 55 5.6.26 (index 32h; fd_afth) fifo d almost full threshold register........................................ 55 5.6.27 (index ffh; revision) revision register .......................................................................... 55 6. standard device requests .................................................................................................. 56 6.1 c ontrol ?r ead ? t ransfers ....................................................................................................... 57 6.1.1 get device status ......................................................................................................... ......... 57 6.1.2 get interface status...................................................................................................... ......... 57 6.1.3 get endpoint status ....................................................................................................... ....... 57 6.1.4 get device descriptor (18 bytes) ......................................................................................... 5 7 6.1.5 get configuration descriptor (55 bytes) .............................................................................. 58 6.1.6 get string descriptor 0................................................................................................... ...... 60 6.1.7 get string descriptor 1................................................................................................... ...... 60 6.1.8 get string descriptor 2................................................................................................... ...... 61 6.1.9 get configuration ......................................................................................................... ........ 61 6.1.10 get interface ............................................................................................................ ............. 61 6.2 c ontrol ?w rite ? t ransfers ..................................................................................................... 61 6.2.1 set address............................................................................................................... ............. 61 6.2.2 set configuration ......................................................................................................... ......... 61 6.2.3 set interface ............................................................................................................. ............. 61 6.2.4 device clear feature...................................................................................................... ...... 62 6.2.5 device set feature ........................................................................................................ ........ 62 6.2.6 endpoint clear feature .................................................................................................... .... 62 6.2.7 endpoint set feature ...................................................................................................... ...... 62 7. electrical specifications.................................................................................................. 63 7.1 a bsolute m aximum r atings ..................................................................................................... 63 7.2 r ecommended o perating c onditions ..................................................................................... 63 7.3 dc s pecifications ....................................................................................................................... 64 7.3.1 core dc specifications.................................................................................................... ..... 64 7.3.2 usb port dc specifications ................................................................................................ .64 7.3.3 local bus (+3.3v) dc specifications ................................................................................... 65 7.3.4 local bus (+5.0v) dc specifications ................................................................................... 65 7.4 ac s pecifications ....................................................................................................................... 66 7.4.1 usb port ac specifications................................................................................................ .. 66 7.4.2 usb port ac/dc specification notes................................................................................... 67 7.4.3 usb port ac waveforms ..................................................................................................... .67
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 6 7.4.4 local bus write to register ............................................................................................... ... 69 7.4.5 local bus read from register.............................................................................................. .70 7.4.6 dma write to fifo ......................................................................................................... ..... 71 7.4.7 dma read from fifo ........................................................................................................ .. 72 8. mechanical drawing ........................................................................................................... .. 73
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 7 1. highlights 1.1 features ? usb spe c i f i c ation ve r s ion 1. 1 co m pliant ? bridges between a processor-independent local bus and a usb bus ? usb device bandwidth of up to 12mb/sec ? four configurable endpoints, in addition to endpoint 0 ? each endpoint can be isochronous, bulk, or interrupt, as well as in or out ? one 128 byte fifo attached to each endpoint allows concurrency ? separate 16 byte fifo for control endpoint 0 ? supports local cpu or dma data transfers ? automatic retry of failed packets ? diagnostic register allows forced usb errors ? atomic operation to set and clear status bits simplifies software ? simulated disconnect allows re-enumeration ? low power cmos in 48 pin plastic qfp package ? 3.3v operating voltage, 3.3v / 5.0 v dual-voltage i/o interface ? pin compatible with net2888 1.2 overview the NET2890 usb interface controller allows control, isochronous, bulk and interrupt transfers between a generic local bus and a universal serial bus (usb). the NET2890 supports the connection between a host computer and an intelligent peripheral such as a digital camera or scanner. the five main components of the NET2890 are the usb bus interface, the local bus interface, the configuration registers, the five endpoint fifos, and the serial interface engine. the usb interface is responsible for the following functions: ? host to device communication. ? usb bit level protocol (serial interface engine). ? automatic retry of failed packets. ? up to four isochronous, bulk, or interrupt endpoints, each with a 128 byte fifo. ? configurable control endpoint 0 with a 16 byte fifo. ? interface to fifos and local bus controller. ? simulated disconnect signaling the local bus interface is responsible for the following functions: ? fifo control. ? local cpu interface. ? local dma controller interface. ? interrupts.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 8 the configuration registers provide the following features: ? directly accessible base registers for common functions. ? paged registers for each of the 5 endpoints. ? paged registers for endpoint 0?s setup packet. ? indexed registers for infrequently accessed functions. ? registers are accessible only from the local bus. the serial interface engine (sie) provides the following features: ? serial data transmitter and receiver. ? digital phase lock loop and clock recovery. ? crc generator and checker. ? nrzi encoder/decoder. ? bit stuffer/unstuffer. ? packet identifier (pid) decoder. ? sync detector. ? forced error conditions.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 9 1.3 NET2890 block diagram serial interface engine output buffer configuration registers sie_rx_data[7:0] sie_tx_data[7:0] rx_ctl_data[7:0] fifo_rd_data[7:0] cfg_rd_data[7:0] ldin[7:0] ldout[7:0] ld[7:0] usb setup registers input buffer setup_data[7:0] control endpoint 0 fifo endpoint a fifo endpoint b fifo endpoint c fifo endpoint d fifo fifo_wr_data[7:0] sie_tx_data[7:0] rx_ep_data[7:0] ldin[7:0] 1.4 NET2890 typical system block diagram NET2890 usb interface controller usb connector usb cable device controller cpu rom ram local bus device electronics and mechanics (printer, scanner, modem, etc.) usb signals
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 10 net2888/NET2890 differences the NET2890 was derived from the net2888. following is a list of differences between the devices. 1.4.1 pin changes ? pin 2 becomes sof# output ? iso# (pin 29) becomes no-connect 1.4.2 register changes ? completely re-defined register set. 1.4.3 functional changes ? the usb protocol, including endpoint 0, is now managed by the local cpu. ? endpoints are now configurable. ? automatic retry of failed packets. 1.5 changes from rev 1 to rev 2 the following changes have been made to the NET2890 from revision 1 to revision 2. 1.5.1 pin changes none. 1.5.2 register changes mapsel ? renamed pagesel. mainctl ? bits re-arranged to simplify software: ? the ?bus-powered? bit has inverted polarity to ?self-powered?. see the description in section 5, registers. ? retry enable added to bit 4. dmactl ? bits 2:0 select endpoints 0,a-d instead of fifo. irqstat1 ? moved sof interrupt to bit 7 (from old irqstat3 bit 0). ? removed interrupt status 3 (bit 6). irqstat2 ? fifo interrupts moved into epirqstat register. ? new interrupt status bits incorporated. idxdata2 ? removed mapdata1 ? removed. mapdata2 ? removed
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 11 pktlenlsb ? moved from index register 5 to base register 0bh. pktlenmsb ? moved from index register 6 to base register 0ch. fifobase ? register is obsolete. fifosize ? register is obsolete. fifos are all fixed sizes. fifoctl ? moved to endpoint paged registers address 1ch. ? ?fifo enable? bit, ?endpoint select?bits are obsolete. ? fifo valid bit removed, moved to fifostat. fifointenb ? removed. interrupt enables moved to epirqenb register. fifostat ? moved to endpoint registers address 1eh. ? ?fifo valid? bit added, changed to yes/set with auto-clear feature. ? fifo almost full and almost empty interrupts moved to epirqstat register. fifocnt ? moved to endpoint paged registers address 1ah. eprspset ? ?zero-length packet response? bit is obsolete. ? ?endpoint stall? and ?endpoint toggle? bits have been swapped. see the description in section 5, registers. eprspclr ? ?zero-length packet response? bit is obsolete. ? ?endpoint stall? and ?endpoint toggle? bits have been swapped. see the description in section 5, registers. epirqenb ? bits have been re-arranged to simplify software. see section 5, registers. epusbstat ? transmit register valid, receive register valid bits are obsolete. ? ?timeout? status bit and short packet transferred added. irqenb2 ? fifo interrupt enables moved to epirqenb register. index2 ? removed. mindex1 ? removed. mindex2 ? removed. diag ? added new index register to control diagnostic features. epnpktsize ? added new maximum packet size registers (index 10h to 19h). fifoethrs ? renamed fn_aeth. the fifo almost empty threshold registers have been moved from the endpoint/fifo registers to the index registers. fifofthrs ? renamed fn_afth. the fifo almost full threshold registers have been moved from the endpoint/fifo registers to the index registers.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 12 1.5.3 functional changes ? each of the four data endpoints (a-d) has a 128 byte fifo permanently associated with it. ? fifos 5-7 are obsolete: each endpoint has a fifo attached to it (fifo a - d), and each endpoint may be configured as an in or an out endpoint. ? there is a separate 16 byte fifo (fifo 0) for endpoint 0 (the default control pipe). ? there is no second bank of setup registers. ? ?packet transmitted? interrupt (in epirqstat) only occurs when data is transmitted to the host there is no interrupt when the NET2890 responds with a nak or stall to the host. ? fifo registers are grouped into the same page as the corresponding endpoint, instead of separate pages. ? fifos a-d increased to 128 bytes. corresponding threshold and count registers increased to 8 bits. ? failed packets are automatically retried. if retries are enabled and a packet transfer fails, no interrupt or status information in the NET2890 changes. ? fifo_valid_mode and fifo_valid can be used to generate zero-length-packets when required. ? an interrupt (control status phase) can be generated when the host begins a control status phase. ? the new diag register can be used to artificially generate usb error conditions. 1.5.4 documentation changes ? instead of referring to ?physical? endpoints 1-4 and ?logical? endpoints 1-4, the local side will access endpoints as endpoints a-d. endpoints a-d may each be mapped to any available endpoint address (1- 15), in any direction. ? references to ?mapped? registers are all changed to ?paged?.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 13 2. pin connection diagram buspwr# net 2890 qfp12 - 48 pin (top view) vdd sof# dp dm d7 d6 d5 d4 d3 d2 d1 vss vdd d0 cs# lclk ior# iow# drq dack# eot# pwrgood# vss vdd irq# usboe# devcfg# nc vdd(local) lreset# susp# wakeup# reset# vss vdd a0 a1 vss 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 a2 a3 a4 vdd clk in clk out vss testout test
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 14 3. pin description pin type description i input ooutput i/o bi-directional s schmitt trigger ts tri-state tp totem-pole od open-drain pd 50k pull-down pu 50k pull-up # active low note : input pins that do not have an internal pull-up or pull-down resistor (designated by pu or pd in the ?type? column below) must be driven externally when the NET2890 is in the suspended state. signal name pin type description clkin 44 i 48 mhz oscillator input. connect to 48 mhz crystal. clkout 45 o 48 mhz oscillator output. connect to 48 mhz crystal. the oscillator stops when the device is suspended by the usb host. reset# 35 i, s, pu reset. external reset. connect to local or power-on reset. to reset when oscillator is stopped (initial power-up or in suspend state), assert for at least two ms. when oscillator is running, assert for at least five 48-mhz clock periods. dp,dm 3,4 i/o usb data port dp and dm are the differential data signals of the usb data port note: an external 1.5 k ? resistor must be connected from dp to 3.3v. this pull-up resistor indicates to the host or upstream hub that a full-speed device is connected to the usb. d[7:0] 5-11, 14 i/o, 12ma, ts data bus. the bi-directional 8-bit data bus is used by devices on the local bus to read or write registers or fifos in the NET2890. d7 is the most-significant bit. a[4:0] 42-38 i address bus. the local address bus is used by devices on the local bus to select registers within the NET2890. a4 is the most-significant bit. cs# 15 i, pu chip select. the chip select is used by devices on the local bus to enable access to registers within the NET2890. this signal is ignored if dack# is asserted. ior# 17 i, pu i/o read. the i/o read strobe is asserted along with cs# and a[4:0] when a device on the local bus reads from an internal register or fifo. it also allows a fifo to be read during dma transfers when dack# is asserted.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 15 iow# 18 i, pu i/o write. the i/o write strobe is asserted along with cs# and a[4:0] when a device on the local bus writes to an internal register or fifo. it also allows a fifo to be written during dma transfers when dack# is asserted. drq 19 o, 12ma, tp dma request. this signal indicates to an external dma controller that a byte should be transferred to/from the fifo. during a transfer, drq remains asserted until the dack# input goes active. this output floats when the device is suspended by the usb host. dack# 20 i, pu dma acknowledge. this signal from an external dma controller is used to transfer data to/from the fifo in response to drq. ior# and iow# determine the direction of the dma transfer. eot# 21 i, pu end of transfer. this signal from an external dma controller is used to terminate a dma transfer. if it is asserted during a dma cycle, the current byte will be transferred, but no additional bytes will be requested. eot# can be programmed to cause a usb interrupt. irq# 26 o, 12ma, od interrupt request output. the interrupt request output is used to interrupt a processor on the local bus. there are several sources of this interrupt which are described in the register description section. usboe# 27 i/o, 12ma, s, ts, pu usb port output enable. when reset# is not asserted, this is an active low output that is asserted when the NET2890 is driving the usb port data lines. it is intended for debugging purposes only. this signal is not driven while the device is suspended, but will be pulled high by the internal pull-up resistor. when reset# is asserted, this pin is an input. driving a low level during reset# holds the NET2890 in a low-power mode by disabling the internal oscillator. devcfg# 28 o, 12ma, tp, pd device configured. this active low output is true when the NET2890 has been configured by the usb host. this bit is initialized to inactive (high) during reset and is controlled by the local cpu through the mainctl configuration register. this signal is not driven while the device is suspended, but will be pulled low by the internal pull-down resistor. if devcfg# is not needed locally, this signal can be used as a general output pin. susp# 33 o, 12ma, tp, pd device suspended. this active low output is true when the NET2890 has been suspended by the usb host. this signal is not driven while the device is suspended, but will be pulled low by the internal pull- down resistor. lclk 16 o, 12ma, tp, pd local clock. this pin is a buffered clock output from either the internal 48 mhz oscillator or the derived usb clock, depending on the state of the ?local clock output? bits in the localctl configuration register. this signal is not driven while the device is suspended, but will be pulled low by the internal pull-down resistor. when the internal oscillator is started, lclk is prevented from being driven for 2 msec.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 16 lreset# 32 o, 12ma, tp, pu local reset. this active low output is asserted when either the reset# pin is asserted, or a usb upstream port reset is detected. this signal is not driven while the device is suspended, but will be pulled high by the internal pull-up resistor. wakeup# 34 i, pu wakeup. this active low input causes the NET2890 to request a usb remote wakeup if device remote wakeup is enabled. buspwr# 22 i, s bus powered. this active low input indicates that the logic external to the NET2890 is powered by the usb bus. if this input is high, then the external logic is self-powered. this bit is readable by the local cpu through the mainctl configuration register. alternatively, this bit can be used as a general input signal. pwrgood# 23 i, s power good. this active low input indicates that an external power supply used for self-powered mode is operational. this bit is readable by the local cpu through the mainctl configuration register. alternatively, this bit can be used as a general input signal. sof# 2 o, 12 ma, tp, pu start of frame. this signal pulses low for 8 usb full speed clocks when the frame timer is locked and an sof token or synthesized sof token is detected. test 30 i, pd test. for normal operation, connect this pin to ground. testout 47 o, 12 ma test output. used for manufacturing test. nc 29 -- no connect. vdd (usb, core) 1, 13, 25, 37,43 power core supply voltage. connect this pin to the +3.3v supply voltage to supply the core and the usb interface. vdd (local) 31 power local supply voltage. connect this pin to the +3.3v or +5.0v supply voltage to supply the local interface. vss 12, 24, 36, 46, 48 gnd device ground. connect this pin to ground.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 17 4. functional description 4.1 usb interface the NET2890 is a usb function device, and as a result is always a slave to the usb host. the bit and packet level protocols, as well as the electrical interface of the NET2890, conform to usb specification version 1.0. all usb data transfers to and from the NET2890 usb port are initiated by the usb host. the NET2890 can be configured for up to 4 endpoints, in addition to endpoint 0. each endpoint can be an isochronous, bulk or interrupt type. the configuration registers are used to program the characteristics of each endpoint. 4.2 usb protocol the packet protocol of the usb bus consists of tokens, packets, transactions, and transfers. 4.2.1 tokens tokens are a type of packet identifier (pid), and follow the sync byte at the beginning of a token packet. the four types of tokens are out, in, sof, and setup. 4.2.2 packets there are four types of packets: start-of-frame (sof), token, data, and handshake. each packet begins with a sync byte and a packet identifier (pid). the other fields vary depending on the type of packet. an sof packet consists of the following fields: ? sync byte (8-bits) ? packet identifier (8-bits) ? frame number (11-bits) ? crc (5-bits) a token packet consists of the following fields: ? sync byte (8-bits) ? packet identifier (8-bits) ? address (7-bits) ? endpoint (4-bits) ? crc (5-bits) a data packet consists of the following fields: data packets are always preceded by a token packet. ? sync byte (8-bits) ? packet identifier (8-bits) ? data (n bytes) ? crc (16-bits) a handshake packet consists of the following fields: ? sync byte (8-bits) ? packet identifier (8-bits) 4.2.3 transaction a transaction consists of a token packet, optional data packet(s), and a handshake packet. 4.2.4 transfer a transfer consists of one or more transactions. control transfers consist of a setup transaction, optional data transactions, and a handshake (status) transaction.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 18 4.3 automatic retries 4.3.1 out transactions if an error occurs during an out transaction, the NET2890 reloads its local side fifo read pointer back to the beginning of the failed packet. the host then sends another out token and re-transmits the packet. once the packet has been successfully received by the NET2890, the packet received interrupt is set. the NET2890 can handle any number of back-to-back retries, but the host determines how many times a packet is retried. windows 98 currently performs three retries before giving up on the device. 4.3.2 in transactions if an error occurs during an in transaction, the NET2890 reloads its usb side fifo read pointer back to the beginning of the failed packet. the host then sends another in token and the NET2890 re-transmits the packet. once the packet has been successfully received by the host, the packet transmitted interrupt is set. if additional data is written to the fifo after the failed packet, and the failed packet was less than the maximum packet size, then the re-transmitted packet may be larger than the failed packet. 4.4 packet lengths the maximum packet length of an endpoint is determined by the corresponding ?max packet size? register. for in transactions, the NET2890 will return a maximum size packet to the host if there are at least ?max packet? bytes in the fifo. a packet of size less than ?max packet size? is returned to the host in response to an in token if either of the following are true ? fifo valid mode (fifoctl[6]) and fifo valid (fifostat[7]) are both true ? fifo valid mode (fifoctl[6]) is false 4.5 usb endpoints the NET2890 supports control, isochronous, bulk, and interrupt endpoints. all endpoints are unidirectional except for control endpoints. bi-directional bulk, isochronous, or interrupt traffic requires two endpoints. 4.5.1 control endpoint - endpoint 0 the control endpoint, endpoint 0, is a reserved endpoint. the host uses this endpoint to configure and gain information about the device, its configurations, interfaces and other endpoints. control endpoints are bi- directional, and data delivery is guaranteed. the host sends 8-byte setup packets to endpoint 0 to which the device interprets and responds. the NET2890 has a set of registers dedicated to storing the setup packet, as well as a dedicated 16-byte bi- directional fifo for control data. for control writes, data flows through the fifo from the usb bus to the local bus. for control reads, data flows through the fifo from the local bus to the usb bus. when endpoint 0 detects a setup packet, the NET2890 sets status bits and interrupts the local cpu. the cpu reads the setup packet from NET2890 registers, and responds based on the contents. any data returned to the host, including status and descriptors, is provided by the local cpu. refer to the chapter 6, standard device requests, for a description of the data which must be returned for each usb request.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 19 4.5.1.1 control write transfer a successful control write transfer to control endpoint 0 consists of the following: transaction stage packet contents # of bytes source setup setup token setup pid, address, endpoint, and crc5 3 host data data0 pid, 8 data bytes, and crc16 11 host status ack 1 NET2890 data (zero, one or more packets) out token out pid, address, endpoint, and crc5 3 host data (1/0) data pid, n data bytes, and crc16 n+3 host status ack 1 NET2890 status in token in pid, address, endpoint, and crc5 3 host data data1 pid, zero length packet, and crc16 3 net 2890 status ack 1 host during the setup transaction, the NET2890 stores the data stage packet in its setup registers . the NET2890 returns an ack handshake to the host after all 8 bytes have been received. a setup packet interrupt status bit is set to notify the local cpu that a setup packet has been received. the 8-byte data packet is then read and interpreted by the local cpu. a setup transaction cannot be stalled or naked, but if the data is corrupted, then the NET2890 will not return an ack to the host. during the data transaction, zero, one or more data packets are written into the endpoint 0 fifo. for each packet: ? interrupt status bits are set and can interrupt the local cpu ? the local cpu reads the fifo ? the NET2890 returns an ack if no error has occurred. for a successful status transaction, the NET2890 returns a zero length data packet. a nak or stall can be returned if an error occurred.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 20 4.5.2 control write transfer details for control write transfers, the host first sends eight bytes of setup information. the setup bytes are stored into an 8-byte register bank that can be accessed from the local cpu. after the eight bytes have been stored into the setup registers , the setup packet interrupt status bit is set. if this interrupt is enabled, the local interrupt irq# pin is asserted. the NET2890 will not respond to the host if the setup packet interrupt status bit is still set from a previous setup packet, and a new setup packet arrives from the host. this prevents the eight bytes of the previous setup packet from being over-written before the local cpu has read them. the local cpu then reads the 8-byte setup packet and prepares to respond to the optional data transactions. the number of bytes to be transferred in the data transactions is specified in the setup packet. when the setup packet is received, the control status phase handshake bit is automatically set in anticipation of the control status phase. while this bit is set, the control status phase will be acknowledged with a nak, allowing the local cpu to prepare its handshake response (ack or stall). once the control status phase handshake bit cleared, the ack or stall handshake will be returned to the host. during a control write operation, optional data transactions can follow the setup transaction. the data out token interrupt status bit is set at the beginning of each data transaction. if this interrupt is enabled, the local interrupt irq# pin is asserted. the bytes corresponding to the data transaction are stored into the endpoint 0 fifo. if the fifo fills up and another byte is transferred from the host, the NET2890 will return a nak handshake to the host, signaling that the data could not be accepted. after each transaction, the local cpu should check the usb out ack sent, usb out nak sent, and timeout status bits to determine if the packet was successfully received. ? if a packet is not successfully received (nak or timeout status) and retries are disabled, the data packet received interrupt status bit will be set. the packet data which is in the fifo or has already been read by the cpu should be discarded. the host will resend the same packet again. ? if a packet is not successfully received (nak or timeout status) and retries are enabled, the data packet received interrupt status bit will not be set, and the data will be automatically flushed from the fifo. the host will resend the same packet again. this process is transparent to the local cpu. ? if the local cpu has stalled this endpoint by setting the endpoint stall bit, the NET2890 will not store any data into the fifo, and will respond with a stall acknowledge to the host. there will not be a status transaction in this case. the local cpu can either start polling for valid data immediately after receiving the setup packet, or can wait for the data packet received interrupt status bit to be set. as the fifo is filling up from the usb side, the local cpu can poll the fifo status register to determine when a byte is available. otherwise it can either poll the data packet received interrupt status bit, or enable it as an interrupt, and then read the entire packet from the fifo at once. if the host tries to write more data than was indicated in the setup packet, then the local cpu should set the stall bit for endpoint 0. in this case there will not be a status stage from the host. after all of the optional data transaction packets have been received, the host will send an in token, signifying the status transaction. the control status interrupt status bit is set after the in token of the status transaction has been received. if this interrupt is enabled, the local interrupt irq# pin is asserted. until the control status phase handshake bit is cleared by the local cpu, the NET2890 will respond to the status transaction with naks, indicating that the device is still processing the setup command. when the control status phase handshake bit has been cleared by the local cpu, the NET2890 will respond with a zero length data packet (transfer ok) or stall (device had an error).
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 21 4.5.2.1 control read transfer a successful control read transfer from control endpoint 0 consists of the following: transaction stage packet contents # of bytes source setup setup token setup pid, address, endpoint, and crc5 3 host data data0 pid, 8 data bytes, and crc16 11 host status ack 1 NET2890 data (zero, one, or more packets) in token in pid, address, endpoint, and crc5 3 host data (1/0) data pid, n data bytes, and crc16 n+3 net 2890 status ack 1 host status out token out pid, address, endpoint, and crc5 3 host data data1 pid, zero length packet, and crc5 3 host status ack 1 NET2890 the setup transaction is processed in the same way as for control write transfers. during the data transaction, zero, one or more data packets are read from the endpoint 0 fifo. for each packet: ? interrupt status bits are set and can interrupt the local cpu ? the local cpu writes data to the fifo ? if there is no data in the fifo, a nak or zero length packet is returned to the host ? the host returns an ack to the NET2890 if no error has occurred. for a successful status transaction, the host sends a zero length data packet, and the NET2890 responds with an ack. a nak or stall can be returned if an error occurred. 4.5.2.2 control read transfer details for control read transfers, the host first sends eight bytes of setup information. the setup bytes are stored into an 8-byte register bank that can be accessed from the local cpu. after the eight bytes have been stored into the setup registers , the setup packet interrupt status bit is set. if this interrupt is enabled, the local interrupt irq# pin is asserted. the NET2890 will not respond to the host if the setup packet interrupt status bit is still set from a previous setup packet, and a new setup packet arrives from the host. this prevents the eight bytes of the previous setup packet from being over-written before the local cpu has read them. the local cpu then reads the 8-byte setup packet and prepares to respond to the optional data transactions. the number of bytes to be transferred in the data transactions is specified in the setup packet. when the setup packet is received, the control status phase handshake bit is automatically set. while this bit is set, the control status phase will be acknowledged with a nak, allowing the local cpu to prepare its handshake response (ack or stall). once the control status phase handshake bit is cleared, the ack or stall handshake will be returned to the host.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 22 during a control read operation, optional data transactions can follow the setup transaction. after the setup transaction, the local cpu can start writing the first byte of packet data into the endpoint 0 fifo in anticipation of the data transaction. the data in token interrupt status bit is set at the beginning of each data transaction. if this interrupt is enabled, the local interrupt irq# pin is asserted. if there is data in the endpoint 0 fifo, it is returned to the host. if endpoint 0 has no data to return, it returns either a zero length packet (signaling that there is no more data available) or a nak handshake (the data is not available yet), depending on the fifo valid and fifo valid mode bits. fifo valid mode fifo valid bit end of transfer response bit size of previous packet amount of data in fifo action 000 x empty nak to host 0 0 1 maximum empty zero length packet to host 0 0 1 < maximum empty nak to host 0 1 x x empty zero length packet to host 0 x x x >0 return data to host 1 0 x x < max packet length nak to host 1 x x x >= max packet length return data to host 1 1 x x empty zero length packet to host 1 1 x x >0 return data to host after each packet has been sent to the host, the data packet transmitted interrupt status bit is set. if this interrupt is enabled, the local interrupt irq# pin is asserted. if retries are disabled, the local cpu should check the usb in ack sent, usb in nak sent, and timeout status bits to determine if the packet was successfully transmitted. ? if a packet is not successfully transmitted ( timeout status bit set) and retries are enabled , the data packet transmitted interrupt status bit will not be set, and the same packet is sent to the host when another in token is received. the retry operation is transparent to the local cpu. ? if a packet is not successfully transmitted ( timeout status bit set) and retries are disabled , the data packet transmitted interrupt status bit will be set. the local cpu needs to flush the fifo and reload the packet for the next in token. ? if the host tries to read more data than was requested in the setup packet, the local cpu should set the stall bit for the endpoint. after all of the optional data transaction packets have been transmitted, the host will send an out token, followed by a zero length data packet, signifying the status transaction. the control status interrupt status bit is set after the out token of the status transaction has been received. if this interrupt is enabled, the local interrupt irq# pin is asserted. until the control status phase handshake bit is cleared by the local cpu, the NET2890 will respond to the status transaction with naks, indicating that the device is still processing the command specified by the setup transaction. when the control status phase handshake bit has been cleared by the local cpu, the NET2890 will respond with an ack (transfer ok) or stall (endpoint 0 is stalled).
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 23 4.5.3 isochronous endpoints isochronous endpoints are used for the transfer of time critical data. isochronous transfers do not support any handshaking or error checking protocol, and are guaranteed a certain amount of bandwidth during each frame. the serial interface engine in the NET2890 ignores crc and bit stuffing errors during isochronous transfers, but sets the epusbstat handshaking bits the same as for non-isochronous packets so that the local cpu can detect errors. isochronous endpoints are unidirectional, with the direction defined by the endpoint configuration registers. the maximum packet size of an isochronous endpoint can be larger than the 128 byte fifos in the NET2890. for an isochronous out endpoint, the local cpu or dma reads data from the fifo at the same time that data is being received from the usb. the local cpu or dma must be able to read data fast enough from the fifo to prevent an overflow. the fifo almost full threshold can also be used to prevent overflows by interrupting the cpu when the fifo is almost full. for an isochronous in endpoint, the local cpu or dma writes data to the fifo at the same time that data is being transmitted to the usb. the local cpu or dma must be able to write data fast enough to the fifo to prevent an underflow. the fifo almost empty threshold can also be used to prevent underflows by interrupting the cpu when the fifo is almost empty. 4.5.3.1 isochronous out transactions isochronous out endpoints are used to transfer data from a usb host to the NET2890 local bus. an isochronous out transaction consists of the following: stage packet contents # of bytes source out token out pid, address, endpoint, and crc5 3 host data data0 pid, n data bytes, and crc16 n+3 host the usb host initiates an isochronous out transaction by sending an out token to an isochronous out endpoint. the data out token interrupt status bit is set when the out token is recognized. if this interrupt is enabled, the local interrupt irq# pin is asserted. the bytes corresponding to the data stage are stored into the endpoint?s fifo. if the fifo is full when another byte is transferred from the host, the byte will be discarded and the usb out nak sent status bit will be set, even though a nak is not actually sent to the host for isochronous packets. no handshake packets are returned to the host, but the usb out ack sent , usb out nak sent , and timeout status bits are still set to indicate the status of the transaction. after every data packet is received, the local cpu should sample these status to determine if the packet was successfully received by the host. by definition, isochronous endpoints do not utilize handshaking with the host. since there is no way to return a stall acknowledge from an isochronous endpoint to the host, data which is sent to a stalled isochronous endpoint will be received normally. the local cpu can either start polling for valid data immediately after receiving the out token, or can wait for the data packet received interrupt status bit to be set. if it waits for the interrupt, then the maximum packet size must be less than the fifo size. as the fifo is filling up from the usb side, the local cpu can poll the fifo empty status bit to determine when a byte is available. otherwise it can either poll the data packet received interrupt status bit, or enable it as an interrupt, and then read the entire packet from the fifo at once. the fifo almost full interrupt can also be used by the local cpu to determine when to start reading isochronous out data from the fifo. the local cpu can either poll the fifo almost full interrupt status bit, or enable it to generate a local interrupt by asserting irq#.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 24 4.5.3.2 isochronous in transactions isochronous in endpoints are used to transfer data from the NET2890 local bus to a usb host. an isochronous in transaction consists of the following: stage packet contents # of bytes source in token in pid, address, endpoint, and crc5 3 host data data0 pid, n data bytes, and crc16 n+3 net 2890 the usb host initiates an isochronous in transaction by sending an in token to an isochronous in endpoint. the data in token interrupt status bit is set when the in token is recognized. if this interrupt is enabled, the local interrupt irq# pin is asserted. if there is data in the endpoint?s fifo, it is returned to the host. if the endpoint has no data to return, a zero length packet is returned to the host. the NET2890 responds to the in token according to the following table. fifo valid mode fifo valid bit end of transfer response bit size of previous packet amount of data in fifo action 0 0 0 x empty zero length packet to host; usb in nak sent status bit set 0 0 1 maximum empty zero length packet to host 0 0 1 < maximum empty zero length packet to host; usb in nak sent status bit set 0 1 x x empty zero length packet to host 0 x x x >0 return data to host 1 0 x x < max packet length zero length packet to host; usb in nak sent status bit set 1 x x x >= max packet length return data to host 1 1 x x empty zero length packet to host 1 1 x x >0 return data to host after the packet has been sent to the host, the data packet transmitted interrupt status bit is set. if this interrupt is enabled, the local interrupt irq# pin is asserted. no handshake packets are returned to the host, but the usb in ack sent , usb in nak sent , and timeout status bits are still set to indicate the status of the transaction. after every data packet is transmitted, the local cpu should sample these status bits to determine if the packet was successfully transmitted to the host. by definition, isochronous endpoints do not utilize handshaking with the host. since there is no way to return a stall acknowledge from an isochronous endpoint to the host, data which is sent to a stalled isochronous endpoint will be received normally.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 25 4.5.4 bulk endpoints bulk endpoints are used for guaranteed error-free delivery of large amounts of data between a host and device. bulk endpoints are unidirectional, with the direction defined by the endpoint configuration registers. 4.5.4.1 bulk out transactions bulk out endpoints are used to transfer data from a usb host to the NET2890 local bus. a bulk write transaction to a bulk out endpoint consists of the following: stage packet contents # of bytes source out token out pid, address, endpoint, and crc5 3 host data (1/0) data pid, n data bytes, and crc16 n+3 host status ack, nak, or stall 1 NET2890 the usb host initiates a bulk out transaction by sending an out token to a bulk out endpoint. the data out token interrupt status bit is set when the out token is recognized. if this interrupt is enabled, the local interrupt irq# pin is asserted. the bytes corresponding to the data stage are stored into the endpoint?s fifo. if the fifo is full when another byte is transferred from the host, the byte will be discarded and the usb out nak sent status bit will be set. at the completion of the packet, a nak handshake will be returned to the host, indicating that the packet could not be accepted. all usb data passes through the en dpoint?s fifo to the local bus. the local cpu can poll the fifo empty status bit or the fifocnt register to determine when valid data is available. also, the endpoint fifo almost full threshold register can be programmed to generate an interrupt when a selected number of bytes have been received. if the local cpu knows that an incoming packet will fit entirely into the fifo, it can wait until data packet received interrupt occurs before reading the data from the fifo. the local cpu can use the following methods to read the out data from the endpoint?s fifo: ? poll the fifo empty status bit to determine when a valid data is available. ? poll the data packet received interrupt status bit, or enable it to generate a local interrupt. the maximum packet size must be less than the fifo size. ? poll the fifo almost full interrupt status bit, or enable it to generate a local interrupt. after each transaction, the local cpu should check the usb out ack sent, usb out nak sent, and timeout status bits to determine if the packet was successfully received. ? if a packet is not successfully received ( usb out nak sent or timeout status bits set) and retries are disabled, the data packet received interrupt status bit will be set. the packet data which is in the fifo or has already been read by the cpu should be discarded. the host will resend the same packet again. ? if a packet is not successfully received ( usb out nak sent or timeout status bits set) and retries are enabled, the data packet received interrupt status bit will not be set, and the data will be automatically flushed from the fifo. the host will resend the same packet again. this process is transparent to the local cpu. ? if the local cpu has stalled this endpoint by setting the endpoint stall bit, the NET2890 will not store any data into the fifo, and will respond with a stall acknowledge to the host.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 26 4.5.4.2 bulk in endpoints bulk in endpoints are used to transfer data from the NET2890 local bus to a usb host. a bulk read transaction from a bulk in endpoint consists of the following: stage packet contents # of bytes source in token in pid, address, endpoint, and crc5 3 host data (1/0) data pid, n data bytes, and crc16, or nak or stall n+3 NET2890 status ack 1 host the usb host initiates a bulk in transaction by sending an in token to a bulk in endpoint. the data in token interrupt status bit is set when the in token is recognized. if this interrupt is enabled, the local interrupt irq# pin is asserted. if there is data in the endpoint?s fifo, it is returned to the host. if the endpoint has no data to return, it returns either a zero length packet (signaling that there is no more data available) or a nak handshake (the data is not available yet), depending on the fifo valid and fifo valid mode bits. fifo valid mode fifo valid bit end of transfer response bit size of previous packet amount of data in fifo action 000 x empty nak to host 0 0 1 maximum empty zero length packet to host 0 0 1 < maximum empty nak to host 0 1 x x empty zero length packet to host 0 x x x >0 return data to host 1 0 x x < max packet length nak to host 1 x x x >= max packet length return data to host 1 1 x x empty zero length packet to host 1 1 x x >0 return data to host after the packet has been sent to the host, the data packet transmitted interrupt status bit is set. if this interrupt is enabled, the local interrupt irq# pin is asserted. if retries are disabled, the local cpu should check the usb in ack sent, usb in nak sent, and timeout status bits to determine if the packet was successfully transmitted. ? if a packet is not successfully transmitted ( timeout status bit set) and retries are enabled , the data packet transmitted interrupt status bit will not be set, and the same packet is sent to the host when another in token is received. the retry operation is transparent to the local cpu. ? if a packet is not successfully transmitted ( timeout status bit set) and retries are disabled , the data packet transmitted interrupt status bit will be set. the local cpu needs to flush the fifo and reload the packet for the next in token. ? if the host tries to read more data than was requested in the setup packet, the local cpu should set the stall bit for the endpoint.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 27 4.5.5 interrupt endpoints interrupt endpoints are used for returning small amounts of status information to the host with a bounded service period. the usb specification version 1.0 only defines interrupt endpoint data transfers from the device to the host (in endpoints). in the NET2890, both directions of interrupt data transfers are supported. 4.5.5.1 interrupt out transactions interrupt out endpoints are used to transfer data from a usb host to the NET2890 local bus. an interrupt out transaction to an interrupt out endpoint consists of the following: stage packet contents # of bytes source out token out pid, address, endpoint, and crc5 3 host data (1/0) data pid, n data bytes, and crc16 n+3 host status ack, nak, or stall 1 NET2890 the behavior of an interrupt out endpoint is the same as a bulk out endpoint, except for the toggle bit. if the interrupt mode bit is cleared, the toggle bit of the interrupt out endpoint is initialized to 0 (data0 pid), and behaves the same as a bulk out endpoint. if the interrupt mode bit is set, the toggle bit of the interrupt out endpoint changes after each data packet is received from the host, without regard to the status stage. note: interrupt write transactions are not supported in the rev 1.0 usb specification. 4.5.5.2 interrupt in endpoints an interrupt in endpoint is polled at a rate which is specified in the endpoint descriptor. an interrupt transaction from an interrupt in endpoint consists of the following: stage packet contents # of bytes source in token in pid, address, endpoint, and crc5 3 host data (1/0) data pid, n data bytes, and crc16 n+3 net 2890 status ack 1 host the behavior of an interrupt in endpoint is the same as a bulk in endpoint, except for the toggle bit. if the interrupt mode bit is cleared, the toggle bit of the interrupt in endpoint is initialized to 0 (data0 pid), and behaves the same as a bulk in endpoint. an interrupt endpoint may be used to communicate rate feedback information for certain types of isochronous functions. to support this mode, the interrupt mode bit is set, and the toggle bit of the interrupt in endpoint changes after each data packet is sent to the host, without regard to the status stage.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 28 4.6 fifos the NET2890 contains four 128-byte fifos, one associated with each data endpoint a-d. the direction of the fifo is determined by the endpoint direction bit (in, out) of the endpoint. in addition, there is a 16 byte bi-directional fifo dedicated for control transfers, which is associated with endpoint 0. the direction of fifo 0 is determined by the most significant bit of the first setup byte. each of the fifos has programmable threshold registers. interrupts can be generated for the fifo almost empty interrupt or fifo almost full interrupt conditions. if a fifo becomes full, write cycles are ignored until space becomes available again. reads from an empty fifo produce undefined data. there is space in the 128-byte fifos for multiple bulk or interrupt packets. each endpoint has a set of maximum packet size registers ( epnpktsizlsb, epnpktsizmsb ) which should be programmed with the same value that is returned to the host in the endpoint descriptor (bytes 4 and 5). 4.6.1 in fifos the fifo valid bit determines the response (data or nak) to an in token when the fifo valid mode bit is set. the fifo valid bit is set by either the cpu or automatically at the end of a dma. when there are at least epnpktsiz bytes in the fifo, the data is automatically validated, and will be sent in response to the next in token. the NET2890 will not send more than epnpktsiz bytes per packet. the local cpu can continue loading data for the next packet until the fifo is full, and the NET2890 will automatically divide the data flow into epnpktsiz packets. this allows usb transfers to overlap with loading of data from the local bus. the local cpu should only set fifo valid when it wants to send a short or zero-length packet (indicating end of transfer). if more data is loaded after fifo valid is set but before the next in token occurs, that data will be included in response to the in token. if enough data is added to make epnpktsiz bytes or more, epnpktsiz bytes will be sent in the next packet and fifo valid will not be cleared. fifo valid is cleared only when a short or zero-length packet is successfully sent to the host. it is also cleared by a local reset, usb reset, fifo flush, or if the endpoint type is changed from in to out. end of transfers are indicated by short (less than epnpktsiz) or zero-length packets. if fifo valid mode is true, the NET2890 will send a short or zero length packet only if the local cpu has set the fifo valid bit. if a short packet has been loaded into the fifo and the fifo valid bit has been set, additional data written to the fifo before the completion of the usb data packet is included in the current packet. if the additional data results in a packet size of epnpktsize or greater, then the original short packet will have been converted to a maximum size packet, and the fifo valid bit will not be cleared until a short or zero length packet is transferred. during dma transfers, if the number of bytes transferred is an integer multiple of the maximum packet size, then a zero length packet will always be sent following the dma data. this happens because the fifo valid bit is always set at the end of a dma transfer, and the fifo will be empty in this case. if fifo valid mode is false, and there are fewer than epnpktsiz bytes in the fifo, the NET2890 will send whatever is currently in the fifo in response to the next in token even if fifo valid has not been set. zero length packets can be sent by setting the fifo valid bit when the fifo is empty.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 29 4.6.2 out fifos when receiving data, the NET2890 will nak the host (indicating that it cannot accept the data) if either the fifo runs out of room, or the data packet received interrupt status bit is set. usb out transfers can overlap with the local cpu unloading the data using the following sequence: ? when the local cpu gets the data packet received interrupt , it reads the fifocnt register so it knows how many bytes are in the current packet. ? then the local cpu clears the data packet received interrupt which allows the next packet to be received. ? now the local cpu can unload data from the fifo while the next usb out transaction is occurring. 4.7 interrupt and status register operation 4.7.1 interrupt status register 1 (irqstat1) bits 4:0 of this register indicate whether one of the endpoints has an interrupt pending. these bits cannot be written, and can cause a local interrupt if the corresponding interrupt enable bits are set in the irqenb1 register. bit 7 is automatically set when a start-of-frame (sof) token is received, and is cleared by writing a 1. this bit can cause a local interrupt if the corresponding interrupt enable bit is set in the irqenb1 register. note that the interrupt status bits can be set without the corresponding interrupt enable bit being set. this allows the local cpu to operate in a polled, as well as an interrupt driven environment. 4.7.2 interrupt status register 2 (irqstat2) each of the bits of this register is set when a particular event occurs in the NET2890, and are cleared by writing a 1 to the corresponding bit. these bits can cause a local interrupt if the corresponding interrupt enable bits are set in the irqenb2 register. 4.7.3 endpoint response registers (eprspset, eprstclr) each endpoint has a set of endpoint response registers . the bits in these registers determine how the NET2890 will respond to various situations during a usb transaction. writing a 1 to any of the bits in the eprspset register will set the corresponding bits. writing a 1 to any of the bits in the eprspclr register will clear the corresponding bits. reading either register returns the current state of the bits. 4.7.4 endpoint interrupt status register (epirqstat) each endpoint has an endpoint interrupt status register. each of the bits of this register is set when a particular endpoint event occurs, and are cleared by writing a 1 to the corresponding bit. these bits can cause a local interrupt if the corresponding interrupt enable bits are set in the epirqenb register. reading the epriqstat register returns the current state of the bits.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 30 4.8 local bus data passes between the local bus and the usb through the appropriate en dpoint?s fifo. the local bus is an 8-bit non-multiplexed bus, and is controlled with a simple set of interface signals. the NET2890 acts only as a slave on the local bus. when the NET2890 is acting as a local bus slave, a cpu on the local bus can access all of the internal configuration registers, as well as the fifos. 4.8.1 maximum throughput note that maximum usb throughput is 1.5 mbytes/sec, so the local bus utilization for accessing the NET2890 is very low. this allows a fast local cpu to perform many other operations during usb data transfers. 4.8.1.1 cpu writes to fifo ? t1 (address setup) : 5 ? t3 (write strobe width) : 5 ? t7 (i/o recovery) : 64 ? total = 74 ns  13.5 mbytes/sec ? if the address setup can be overlapped with the i/o recovery, then total = 69 ns  14.5 mbytes/sec 4.8.1.2 cpu reads from fifo ? t1 (address setup) : 5 ? t4 (read access time) : 28 ? target setup time: (assume 5 ns) ? t7 (i/o recovery) : 42 ? total = 80 ns  12.5 mbytes/sec ? if the address setup can be overlapped with the i/o recovery, then total = 75 ns  13.3 mbytes/sec 4.8.1.3 dma writes to fifo ? the maximum rate of dma write transfers is determined by how quickly dack# and iow# are asserted after drq. an internal state machine asserts drq on the rising edge of a 48mhz clock. with a clock period of 20.8ns, a clock to output delay of 5ns on drq, and a 5ns setup time on dack# and iow#, both dack# and iow# would have to be asserted within 10.8ns of drq in order to be sampled on the next rising edge of the clock. then dack# and iow# would both need to be negated 25 nsec later to minimize the length of the cycle. if this could be accomplished, the minimum cycle time would be 125ns yielding a burst rate of 8 mbytes/sec. 4.8.1.4 dma reads from fifo ? the maximum rate of dma read transfers is the same as the maximum rate of dma write transfers.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 31 4.8.2 dma transfers from NET2890 to local bus a direct memory access (dma) controller may be used on the local bus to transfer data to and from the NET2890. for host to device transfers, the local and host cpus first arrange to transfer a block of data from host memory to local shared memory. the local cpu then programs the dma controller for fly-by demand mode transfers. in this mode, transfers occur only when the NET2890 requests them, and the data is read from one of the NET2890 endpoint fifos and written into local memory during the same bus transaction. the dma address counter is programmed to point to the destination memory block in local shared memory, and the byte count to the number of bytes in the block to be transferred. after the dma controller has been programmed, the dma request enable bit is set in the NET2890. the usb host performs out data transactions over the usb bus to an endpoint?s fifo in the NET2890. as long as there is data available in the selected endpoint?s fifo, the NET2890 will request local dma transfers by asserting drq. the dma controller then requests the local bus from the local cpu. after the dma controller has been granted the bus, it drives a valid memory address and asserts dack#, ior#, and memw#, thus transferring a byte from an endpoint?s fifo to local memory. the dma transfers continue until the dma byte count reaches zero. if the eot# pin is asserted during the last dma transfer, the eot interrupt status bit will be set. if this interrupt is enabled, the local interrupt irq# pin is asserted. 4.8.3 dma transfers from local bus to NET2890 for device to host transfers, the local and host cpus first arrange to transfer a block of data from local memory to host memory. the local cpu then programs the dma controller for fly-by demand mode transfers. in this mode, transfers occur only when the NET2890 requests them, and the data is read from local memory and written into the selected endpoint?s fifo during the same bus transaction. the dma address counter is programmed to point to the source memory block in local memory, and the byte count to the number of bytes in the block to be transferred. after the dma controller has been programmed, the dma request enable bit is set in the NET2890. as long as there is space available in the selected endpoint?s fifo, and the byte count is non-zero, the NET2890 will request dma transfers by asserting drq. the dma controller then requests the local bus from the local cpu. after the dma controller has been granted the bus, it drives a valid memory address and asserts dack#, memr#, and iow#, thus transferring a byte from memory to the endpoint?s fifo. the usb host sends an in token to the NET2890 and starts an in data transaction from the selected endpoint?s fifo. the dma transfers continue until the dma byte count reaches zero. if the eot# pin is asserted during the last dma transfer, the eot interrupt status bit will be set. if this interrupt is enabled, the local interrupt irq# pin is asserted. a single dma setup can be used to transfer multiple packets. the dma request signal (drq) is asserted anytime there is space available in the fifo. the endpoint?s maximum packet size registers control the maximum number of bytes transmitted to the host in the packet.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 32 4.8.4 terminating dma transfers the eot# signal is used to halt a dma transfer, and is typically provided by an external dma controller. it should be asserted while dack# and ior# or iow# are simultaneously active to indicate that dma activity has stopped. altho ugh an eot# signal indicates that dma has terminated, the usb transfer is not complete until the last byte has been transferred from the endpoint?s fifo to the usb. the eot# input resets the NET2890 dma request enable bit. when eot# is detected, the fifo valid bit is automatically set, causing the remaining data to be sent to the host. if there is no data in the fifo, then a zero length packet will be returned in response to the next in token. if no eot# signal is provided by the dma controller, the local cpu can terminate the dma transfer at any time by resetting the NET2890 dma request enable bit. if the NET2890 dma request enable bit is cleared during the middle of a dma cycle, the current cycle will complete before dma requests are terminated. the fifo valid (fifostat[7]) bit is not automatically set when the dma request enable (dmactl[3]) is cleared. in this case, the cpu needs to explicitly set this bit if there is a short packet in the fifo. if a packet has an odd number of bytes, it is not allowable to pad the packet with one extra byte. if a dma controller can only transfer an even number of bytes, then the local cpu can be used to write the last odd byte into the fifo. this approach works as long as the dma eot# pin is not used. if the eot# pin is asserted at the end of a dma, the fifo valid (fifostat[7]) bit is automatically set. this could be a problem since the last odd byte has not been written to the fifo by the local cpu. there are no other limitations to intermixing cpu and dma transfers, as long as dack# is not asserted during cpu transfers.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 33 4.9 suspend mode when there is a three millisecond period of inactivity on the usb, the usb specification requires a device to enter into a low-power suspended state. the device may not draw more than 500 a of current while in this state. to facilitate this, the NET2890 provides a suspend request interrupt status bit and a suspend control bit. additionally, the NET2890 allows local bus hardware to initiate a ?device remote wake-up? to the usb. 4.9.1 the suspend sequence the typical sequence of a suspend operation is as follows: ? during device configuration, the local cpu enables the suspend request interrupt status bit to generate a local interrupt. ? when the usb is idle for three milliseconds, the NET2890 sets the suspend request interrupt status bit, generating an interrupt to the local cpu. this interrupt can also occur if the NET2890 is not connected to a host, and the usb data lines are pulled to the idle state (dp high, dm low). ? the local cpu accepts this interrupt by clearing the suspend request interrupt status bit, and performs the tasks required to ensure that not more than 500 a of current is drawn from the usb power bus. ? the local cpu writes a 1 to the suspend control bit to initiate the suspend. in suspend mode, the NET2890?s oscillator shuts down, and most output pins are tri-stated to conserve power (see section 3, pin description ). as the NET2890 enters the suspend state, the susp# output pin will be driven low for 20 nsec and then floated. it has an internal pull-down resistor to keep it low during suspend. note that input pins on the NET2890 which do not have an internal pull-up or pull-down resistors should not be allowed to float during suspend mode. the NET2890 will leave suspend mode by detecting a host initiated wake-up or by a device remote wake-up. if a device is self-powered, it may ignore the usb suspend request and never set the suspend control (irqstat2[4]) bit. 4.9.2 host-initiated wake-up the host may wake up the NET2890 by driving any non-idle state on the usb. the NET2890 will detect the host?s wake-up request, and re-starts its internal oscillator. two milliseconds later, the susp# output signal is driven high to indicate that the NET2890 has completed its wake-up. 4.9.3 device-remote wake-up the device hardware signals a device remote wake-up by driving the wakeup# input pin low. if the device remote wake-up enable bit is set, the NET2890 will send a 10-ms wake-up signal to the usb host, and concurrently re-start its local oscillator. two milliseconds after the wakeup# pin is asserted, the susp# line is driven high to indicate that the NET2890 has completed its wake-up. 4.9.4 resume interrupt when the NET2890 begins either a device-remote wake-up or host-initiated wake-up, it may be programmed to generate a resume interrupt. the resume interrupt status bit is set when a resume is detected, and can be enabled to generate an interrupt with the resume interrupt enable bit.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 34 4.10 root port reset if the sie in the NET2890 detects a single-ended zero on the root port for greater than 2.5 microseconds, it is interpreted as a root port reset. the lreset# output pin is asserted, and the following resources are reset: ? sie ? usb state machines ? local state machines ? our address register ? device configured bit of main control register . ? fifos and fifo valid bits the remainder of the configuration registers are not affected by the root port reset.the root port reset interrupt status bit is set when a root port reset has been detected, and if enabled, a local interrupt is generated. the local cpu should take appropriate action when this interrupt occurs. according the the usb specification, the width of the usb reset is minimally 10ms and may be longer depending on the upstream host or hub. there is no specified maximum width for the usb reset. the lreset# pin is asserted while the usb reset is active, and is negated a few 48 mhz clocks after the usb reset condition is removed by the host. 4.11 NET2890 power configuration the usb specification defines both bus-powered and self-powered devices. a bus-powered device is a peripheral which derives all of its power from the upstream usb connector, while a self-powered device has an external power supply. the NET2890 is well-suited for both types of applications. the most significant consideration when deciding whether to build a bus-powered or a self-powered device is power consumption. the usb specification lays out the following requirements for maximum current draw: ? a peripheral not configured by the host can draw only 100 ma from the usb power pins. ? a device may not draw more than 500 ma from the usb connector?s power pins. ? in suspend mode, the peripheral may not draw more than 500 a from the usb connector?s power pins if these power considerations can be met without the use of an external power supply, the peripheral can be bus-powered; otherwise a self-powered design should be implemented. 4.11.1 bus-powered device if the local bus is powered at 3.3 volts, the v dd and v ddl pins of the device are connected to a 3.3 volt regulated source derived from the usb 5.0 volt power pin. for a 5.0 volt local bus, the v ddl pin may be connected directly to the usb 5.0 volt power pin, while the v dd pins must still be connected to 3.3 volts through a regulator. the rest of the local-side circuitry is also connected to the usb power pin, either through a regulator or directly. therefore, the peripheral?s local circuitry and the net 2890 will all power up simultaneously, and initialization can occur normally with a power-on reset. 4.11.2 self-powered device generally, a peripheral with higher power requirements will be self-powered. in a self-powered device, the NET2890 v dd and v ddl pins of the NET2890 are powered by the local power supply. this allows the local bus to continue accessing the NET2890, even when the device is not connected to the usb bus. the usb connector?s power pin is left unconnected.
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 35 while the peripheral is connected to the usb, the NET2890 will automatically request suspend mode when appropriate, as described in section 4.9. the NET2890 should not be powered-down when its local bus is still connected to a powered-up device. there are esd protection circuits in the NET2890 which will short v cc pins to ground. if the v cc pins are not powered, they will sink too much current from the board. 4.11.3 low-power modes 4.11.3.1 usb suspend (unplugged from usb) the NET2890 may draw a small amount of power when un-pl ugged from the usb. in power-sensitive applications, the local cpu can force the NET2890 to enter low-power suspend mode when unpl ugged from the usb by setting the suspend control bit . the NET2890 will automatically wake-up when the peripheral is re-connected to the usb. do not force suspend mode unless the peripheral is unplugged from the usb. when the NET2890 is connected to the usb, it is a violation of the usb specification to enter the suspend state unless the upstream port has been idle for at least 3 milliseconds. this is the preferred method of suspending the NET2890, since a usb plug-in will automatically cause the NET2890 to wake-up and set the resume interrupt status bit. 4.11.3.2 power-on standby the peripheral can prevent the NET2890 from starting its oscillator on power-up by driving a low into the usboe# pin from an external open-drain source while reset# is asserted (low). in this state the NET2890 requires only a small quiescent standby current. when the peripheral wishes to start the oscillator, it releases the usboe# line and continues to assert reset# for a minimum of 2 milliseconds. note that while the oscillator is stopped, the NET2890 cannot respond to usb requests, so the oscillator must be allowed to start when the peripheral detects a usb plug- in event. note also that usboe# should only be driven from an external source while reset# is asserted. the NET2890 will not detect a usb plug-in event while in this standby state. the device is responsible for detecting the plug-in, and ending the standby condition. this standby technique is appropriate when the device?s power budget does not allow the NET2890 to be active long eno ugh to shut it down by setting the suspend control bit .
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 36 5. configuration registers 5.1 register description the NET2890 occupies a 32 byte local register space which can be accessed by a cpu on the local bus. the base registers are accessed directly, while the paged registers are paged in using the pagesel register. there are four sets of index registers which allow selected paged and indexed registers to be accessed directly from the base register range. after the NET2890 is powered-up or reset, the registers are set to their default values. writes to unused registers are ignored, and reads from unused registers return a value of 0. for compatibility with future revisions, reserved bits within a register should always be written with a zero. 5.2 register summary 5.2.1 base registers (unpaged) address register name register description page 00h pagesel paged register select 39 01h mainctl main control 39 02h dmactl dma control 39 03h irqstat1 interrupt request status 1 40 04h irqstat2 interrupt request status 2 40 05h reserved 06h idxaddr indexed register address 41 07h idxdata indexed register data 41 08h reserved 09h reserved 0ah reserved 0bh pktlenlsb packet length (lsb) 41 0ch pktlenmsb packet length (msb) 41 0dh-0fh reserved
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 37 5.2.2 endpoint / fifo registers (paged) address register name register description page 10h epcfg endpoint configuration 42 11h eprspset endpoint response set 43 12h eprspclr endpoint response clear 44 13h epirqenb endpoint interrupt enable 45 14h epirqstat endpoint interrupt status 45 15h epusbstat endpoint usb status 46 16h epdout endpoint data out (NET2890 r eceive) 46 17h epdin endpoint data in (NET2890 transmit) 46 18h reserved 19h reserved 1ah fifocnt fifo count 47 1bh reserved 1ch fifoctl fifo control 47 1dh reserved 1eh fifostat fifo status 47 1fh reserved 5.2.3 setup packet registers (paged) address register name register description page 10h setup0 setup byte 0 48 11h setup1 setup byte 1 48 12h setup2 setup byte 2 48 13h setup3 setup byte 3 48 14h setup4 setup byte 4 49 15h setup5 setup byte 5 49 16h setup6 setup byte 6 49 17h setup7 setup byte 7 49 18h-1fh reserved
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 38 5.2.4 indexed registers index register name register description page 00h localctl local bus control 50 01h ouraddr our usb address 50 02h irqenb1 interrupt request enable 1 50 03h irqenb2 interrupt request enable 2 51 04-06h reserved 07h framelsb frame count (lsb) 51 08h framemsb frame count (msb) 51 09h reserved 0ah reserved 0bh reserved 0ch diag diagnostic controls 52 0dh-fh reserved 10h ep0pktsizlsb ep0 maximum packet size (lsb) 52 11h 12h epapktsizlsb epa maximum packet size (lsb) 52 13h epapktsizmsb epa maximum packet size (msb) 52 14h epbpktsizlsb epb maximum packet size (lsb) 52 15h epbpktsizmsb epb maximum packet size (msb) 53 16h epcpktsizlsb epc maximum packet size (lsb) 53 17h epcpktsizmsb epc maximum packet size (msb) 53 18h epdpktsizlsb epd maximum packet size (lsb) 53 19h epdpktsizmsb epd maximum packet size (msb) 53 1ah-1fh reserved 20h f0_aeth fifo 0 almost empty threshold 53 21h reserved 22h f0_afth fifo 0 almost full threshold 54 23h reserved 24h fa_aeth fifo a almost empty threshold 54 25h reserved 26h fa_afth fifo a almost full threshold 54 27h reserved 28h fb_aeth fifo b almost empty threshold 54 29h reserved 2ah fb_afth fifo b almost full threshold 54 2bh reserved 2ch fc_aeth fifo c almost empty threshold 54 2dh reserved 2eh fc_afth fifo c almost full threshold 54 2fh reserved 30h fd_aeth fifo d almost empty threshold 55 31h reserved 32h fd_afth fifo d almost full threshold 55 33h reserved 34h-feh reserved ffh chiprev chip revision 55
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 39 5.3 base registers 5.3.1 (address 00h; pagesel) paged register select bits description read write default value 7:5 paged register set select. these bits select one of the paged sets of configuration registers. the select value pages one of the sets of registers into the address range 10-1f. all values not listed below are reserved. value paged register set 0h endpoint 0 (control) 1h endpoint a 2h endpoint b 3h endpoint c 4h endpoint d 7h setup packet registers yes yes 0 4:0 reserved yes no 0 5.3.2 (address 01h; mainctl) main control register bits description read write default value 7:5 reserved yes no 0 4 retry enable . if set, this bit enables the automatic retry feature. if an error occurs during an in packet, the same packet data is transmitted when the next in token is received. if an error occurs during an out packet, the corres ponding fifo is flushed. no interrupts or status bits will change as a result of failed packets. note that isochronous endpoints are never retried. yes yes 1 3 device remote wake-up enable . if set, this bit enables the wakeup# pin to cause a device remote wake-up. yes yes 0 2 device configured . when the NET2890 has been su ccessfully configured by the host, the local cpu can set this bit which causes the devcfg# output pin to be asserted. this bit is cleared when a root port reset is detected. yes yes 0 1 power good. when the pwrgood# pin is asserted, this bit is read as a one, indicating that the local power supply is operational. yes no 0 0 self powered. when the buspwr# pin is negated (high), this bit is read as a one, indicating that the NET2890 is operating in the self powered mode. yes no 0 5.3.3 (address 02h; dmactl) dma control register bits description read write default value 7:5 reserved yes no 0 4 dma request. this status bit reflects the state of the drq output pin, and allows a cpu on the local bus to monitor dma transfers. yes no 0 3 dma request enable. writing a 1 to this bit causes the NET2890 to start requesting dma cycles from a dma controller on the local bus. if the eot# input is asserted, this bit is automatically reset. a cpu on the local bus may also explicitly reset this bit to terminate a dma transfer. if the cpu sets the fifo valid bit of the endpoint selected by field 2:0, this bit is cleared. this bit can be read to determine whether a dma transfer is still in progress. yes yes 0 2:0 dma endpoint select. this field determines which endpoint is being accessed during a dma transfer. 000 = endpoint 0, 001 = a, 010 = b, 011 = c, 100 = d. yes yes 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 40 5.3.4 (address 03h; irqstat1) interrupt status register 1 bits description read write default value 7 sof interrupt status. this bit indicates when a start-of-frame packet has been received by the net 2890. this status bit is cleared by writing a 1. yes yes/clr 0 6 reserved. yes no 0 5 interrupt status 2. this bit indicates when one of the irqstat2 interrupt bits is active and the corresponding interrupt is enabled. note that this bit is not set as a result of ?suspend control? being active. yes no 0 4 endpoint d interrupt status. this bit conveys the interrupt status for endpoint d. if set, endpoint d?s interrupt status register should be read to determine the cause of the interrupt. this bit is set independently of the interrupt enable bit. yes no 0 3 endpoint c interrupt status. this bit conveys the interrupt status for endpoint c. if set, endpoint c?s interrupt status register should be read to determine the cause of the interrupt. this bit is set independently of the interrupt enable bit. yes no 0 2 endpoint b interrupt status. this bit conveys the interrupt status for endpoint b. if set, endpoint b?s interrupt status register should be read to determine the cause of the interrupt. this bit is set independently of the interrupt enable bit. yes no 0 1 endpoint a interrupt status. this bit conveys the interrupt status for endpoint a. if set, endpoint a?s interrupt status register should be read to determine the cause of the interrupt. this bit is set independently of the interrupt enable bit. yes no 0 0 endpoint 0 interrupt status. this bit conveys the interrupt status for endpoint 0. if set, endpoint 0?s interrupt status register should be read to determine the cause of the interrupt. this bit is set independently of the interrupt enable bit. yes no 0 5.3.5 (address 04h; irqstat2) interrupt status register 2 note: these status bits are set independently of the corresponding interrupt enable bits. writing a 0 to these bits has no effect. bits description read write default value 7 control status interrupt. this bit is set when an in or out token indicating control status has been received. this status bit is cleared by writing a 1. yes yes/clr 0 6 setup packet interrupt. this bit is set when a setup packet has been received from the host. this bit must be cleared (by writing a 1) before the next setup packet can be received. if the bit is not cleared, successive setup packets will not be acknowledged. yes yes/clr 0 5 input pin change interrupt status. if set, this bit indicates that a change occurred in the buspwr# or pwrgood# input pins. read the mainctl register for the current state of these pins. this status bit is cleared by writing a 1. yes yes/clr 0 4 suspend control . if set, this bit indicates that there is a pending suspend request from the host. writing a 1 clears this bit and causes the NET2890 to enter the suspended state. yes yes/clr 0 3 eot interrupt status. this bit indicates when the eot# input has been asserted simultaneously with dack# and either ior# or iow#, indicating the completion of a dma transfer. this status bit is cleared by writing a 1. this bit is set independently of the corresponding interrupt enable bit. yes yes/clr 0 2 root port reset interrupt status. this bit indicates when a root port reset has been received by the net 2890. this status bit is cleared by writing a 1. yes yes/clr 0 1 suspend request interrupt status. this bit indicates when a suspend-request has been received by the net 2890. this status bit is cleared by writing a 1. yes yes/clr 0 0 resume interrupt status. if set, this bit indicates that a device resume has occurred. this status bit is cleared by writing a 1. yes yes/clr 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 41 5.3.6 (address 06h; idxaddr) index register address bits description read write default value 7:0 index register address. this register selects which indexed register is accessed when the idxdata port is read or written. yes yes 0 5.3.7 (address 07h; idxdata) indexed register data bits description read write default value 7:0 indexed register data. this port provides access to the indexed data register selected by idxaddr. see below see below see below 5.3.8 (address 0bh; pktlenlsb) packet length (lsb) bits description read write default value 7:0 packet length lsb. this field provides the least significant bits of the length of the last packet transferred. this field is not updated when setup packets are r eceived, because they have a fixed length of 8. yes no 0 5.3.9 (address 0ch; pktlenmsb) packet length (msb) bits description read write default value 7:2 reserved. yes no 0 1:0 packet length msb. this field provides the most significant bits of the length of the last packet transferred. this field is not updated when setup packets are r eceived, because they have a fixed length of 8. yes no 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 42 5.4 endpoint / fifo registers there are 5 sets of endpoint / fifo registers, one for each endpoint. 5.4.1 (address 10h; epcfg) endpoint configuration register (one per endpoint) note: for endpoint 0, all fields in this register are assigned to fixed values, and are reserved . bits description read write default value 7:4 endpoint number. this field selects the number of the endpoint. valid numbers are 0 to 15. this field has no effect on endpoint 0, which always has an endpoint number of 0. yes yes 0 3 endpoint direction. this bit selects the direction of this endpoint, if it is unidirectional. 0 = out, 1 = in. endpoint 0 is bi-directional, and ignores this bit. the direction is with respect to the usb host point of view. note that a maximum of one out and in endpoint is allowed for each e ndpoint number. yes yes 0 2 endpoint enable. when set, this bit enables this endpoint. this bit has no effect on endpoint 0, which is always enabled. yes yes 0 1:0 endpoint type. this field selects the type of this endpoint. endpoint 0 is forced to a control type. value description 0 reserved 1 isochronous 2bulk 3 interrupt yes yes 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 43 5.4.2 (address 11h; eprspset) endpoint response set register (one per endpoint) note: writing a 1 to a bit position sets that bit and writing a 0 has no effect. bits description read write default value 7 reserved. yes no 0 6 end of transfer response. this bit is only used for in endpoints. if fifo valid mode is false, setting this bit causes the endpoint to automatically terminate usb transfers with a zero length packet when necessary. if the last packet sent was full (short packet transferred is false), and an in token arrives when the fifo is empty, the endpoint returns a zero length packet (instead of nak) to indicate end of transfer to the host. yes yes/set 1 5 interrupt mode. this bit is only used for interrupt endpoints. for normal interrupt data, this bit should be set to zero and standard data toggle protocol is followed. when this interrupt endpoint is used for isochronous rate feedback information, this bit should be set high. in this mode the data toggle bit is changed after each packet is sent to the host without regard to handshaking. no packet retries are performed in the rate feedback mode. yes yes/set 0 4 control status phase handshake. this bit is only used for endpoint 0. this bit is automatically set when a setup packet is detected. while the bit is set, a control status phase will be acknowledged with a nak. once cleared, the proper response will be returned to the host (ack for control reads and zero-length packets for control writes). yes yes/set 0 3 receive handshake mode. this bit is only used for out endpoints. this bit selects the response if the previous r eceive packet has not been processed by the local cpu. if this bit is low, the NET2890 will accept the out packet if there is space available in the endpoint?s fifo. if this bit is high, the NET2890 will respond to the host with a nak if an out packet is received and the data packet received interrupt status bit is still set from the previous packet. yes yes/set 1 2 reserved. yes no 0 1 endpoint toggle. this bit is used to set the endpoint data toggle bit. reading this bit returns the current state of the endpoint data toggle bit. yes yes/set 0 0 endpoint stall. this bit is used to set the endpoint stall bit. when an endpoint set feature standard request to the stall bit is detected by the local cpu, it must write a 1 to this bit. reading this bit returns the current state of the endpoint stall bit. yes yes/set 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 44 5.4.3 (address 12h; eprspclr) endpoint response clear register (one per endpoint) note: writing a 1 to a bit position clears that bit and writing a 0 has no effect. bits description read write default value 7 reserved. yes no 0 6 end of transfer response. this bit is only used for in endpoints. if fifo valid mode is false, setting this bit causes the endpoint to automatically terminate usb transfers with a zero length packet when necessary. if the last packet sent was full (short packet transferred is false), and an in token arrives when the fifo is empty, the endpoint returns a zero length packet (instead of nak) to indicate end of transfer to the host. yes yes/clr 1 5 interrupt mode. this bit is only used for interrupt endpoints. for normal interrupt data, this bit should be set to zero and standard data toggle protocol is followed. when this interrupt endpoint is used for isochronous rate feedback information, this bit should be set high. in this mode the data toggle bit is changed after each packet is sent to the host without regard to handshaking. no packet retries are performed in the rate feedback mode. yes yes/clr 0 4 control status phase handshake. this bit is only used for endpoint 0. this bit is automatically set when a setup packet is detected. while the bit is set, a control status phase will be acknowledged with a nak. once cleared, the proper response will be returned to the host (ack for control reads and zero-length packets for control writes). yes yes/clr 0 3 receive handshake mode. this bit is only used for out endpoints. this bit selects the response if the previous r eceive packet has not been processed by the local cpu. if this bit is low, the NET2890 will accept the out packet if there is space available in the endpoint?s fifo. if this bit is high, the NET2890 will respond to the host with a nak if an out packet is received and the data packet received interrupt status bit is still set from the previous packet. yes yes/clr 1 2 reserved. yes no 0 1 endpoint toggle. this bit is used to clear the endpoint data toggle bit. when an endpoint clear feature standard request to clear a stall bit is detected by the local cpu, it must write a 1 to this bit, thus resetting the toggle. reading this bit returns the current state of the endpoint data toggle bit. yes yes/clr 0 0 endpoint stall. this bit is used to clear the endpoint stall bit. when an endpoint clear feature standard request to the stall bit is detected by the local cpu, it must write a 1 to this bit. reading this bit returns the current state of the endpoint stall bit. yes yes/clr 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 45 5.4.4 (address 13h; epirqenb) endpoint interrupt enable register (one per endpoint) bits description read write default value 7:6 reserved. yes no 0 5 data packet received interrupt enable. when set, this bit enables a local interrupt to be set when a data packet has been received from the host. yes yes 0 4 data packet transmitted interrupt enable. when set, this bit enables a local interrupt to be set when a data packet has been transmitted to the host. yes yes 0 3 data out token interrupt enable. when set, this bit enables a local interrupt to be set when a data out token has been received from the host. yes yes 0 2 data in token interrupt enable. when set, this bit enables a local interrupt to be set when a data in token has been received from the host. yes yes 0 1 fifo almost full interrupt enable. when set, this bit enables a local interrupt to be set when the number of bytes in the fifo becomes equal to or greater than the fifo almost full threshold. yes yes 0 0 fifo almost empty interrupt enable. when set, this bit enables a local interrupt to be set when the number of bytes in the fifo becomes equal to or less than the fifo almost empty threshold. yes yes 0 5.4.5 (address 14h; epirqstat) endpoint interrupt status register (one per endpoint) bits description read write default value 7:6 reserved. yes no 0 5 data packet received interrupt. this bit is set when a data packet is received from the host by this endpoint. this status bit is cleared by writing a 1. if this bit is set, the receive handshake mode bit is set, and another out token is received, a nak is returned to the host. yes yes/clr 0 4 data packet transmitted interrupt. this bit is set when a data packet is transmitted from the endpoint to the host. this status bit is cleared by writing a 1. yes yes/clr 0 3 data out token interrupt. this bit is set when a data out token has been received from the host. this status bit is cleared by writing a 1. yes yes/clr 0 2 data in token interrupt. this bit is set when a data in token has been received from the host. this status bit is cleared by writing a 1. yes yes/clr 0 1 fifo almost full interrupt. this bit is set when the number of bytes in the fifo changes from a value less than the fifo almost full threshold to a value equal to or greater than the threshold. yes yes/clr 0 0 fifo almost empty interrupt. this bit is set when the number of bytes in the fifo changes from a value greater than the fifo almost empty threshold to a value equal to or less than the threshold. yes yes/clr 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 46 5.4.6 (address 15h; epusbstat) endpoint usb status register (one per endpoint) bits description read write default value 7 timeout. for an in endpoint, the last usb packet transmitted was not acknowledged by the host pc, indicating a bus error. the host pc will expect the same packet to be retransmitted in response to the next in token. for an out endpoint, the last usb packet received had a crc or bit-stuffing error, and was not acknowledged by the NET2890. the packet will be retransmitted by the host pc. writing a 1 clears this bit. yes yes/clr 0 6 usb stall sent. the last usb packet could not be accepted or provided because the endpoint was stalled, and was acknowledged with a stall. writing a 1 clears this bit. yes yes/clr 0 5 usb in nak sent. the last usb in packet could not be provided, and was acknowledged with a nak. writing a 1 clears this bit. yes yes/clr 0 4 usb in ack rcvd. the last usb in data packet transferred was successfully acknowledged with an ack from the host. writing a 1 clears this bit. yes yes/clr 0 3 usb out nak sent. the last usb out data packet could not be accepted, and was acknowledged with a nak to the host. if retries are disabled, the fifo data may be corrupted and the local cpu should flush the fifo. writing a 1 clears this bit. yes yes/clr 0 2 usb out ack sent. the last usb out data packet transferred was successfully acknowledged with an ack to the host. writing a 1 clears this bit. yes yes/clr 0 1 short packet transferred. the length of the last packet was less than the maximum packet size (epnpktsiz). writing a 1 clears this bit. yes yes/clr 0 0 reserved. yes no 0 5.4.7 (address 16h; epdout) endpoint data out register (one per endpoint) bits description read write default value 7:0 endpoint data out register. for an out endpoint, this register is used by the local cpu to read data from the endpoint?s fifo. this register is unused for an in endpoint. yes no 0 5.4.8 (address 17h; epdin) endpoint data in register (one per endpoint) bits description read write default value 7:0 endpoint data in register. for an in endpoint, this register is used by the local cpu to write data to the endpoint?s fifo. this register is unused for an out endpoint. no yes 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 47 5.4.9 (address 1ah; fifocnt) fifo count register (one per endpoint) bits description read write default value 7:0 fifo count. this register returns the number of fifo entries containing valid data. values range from 0 (empty) to 128 (full) for endpoints a through d, and from 0 (empty) to 16 (full) for endpoint 0. note: if retries are disabled, and the endpoint is actively involved in a usb packet transfer, the value read from this register may not be valid. yes no 0 5.4.10 (address 1ch;fifoctl) fifo control register (one per endpoint) bits description read write default value 7 reserved yes no 0 6 fifo valid mode. this bit is only used for in endpoints. setting this bit causes the NET2890 to respond to an in token with a nak handshake unless there are more than epnpktsiz bytes in the fifo or the fifo valid bit is set. when this bit is cleared, any data waiting in the endpoint?s fifo will be sent in response to a n in token, and the fifo valid bit is ignored (except for zero-length packets). yes yes 0 5 fifo flush. writing a 1 to this bit causes the fifo to be flushed and the corresponding fifo count register and fifo valid bit to be cleared. this bit clears itself, and writing a 0 has no effect. reading this bit always returns a 0. no yes 0 4:0 reserved yes no 0 5.4.11 (address 1eh;fifostat) fifo status register (one per endpoint) bits description read write default value 7 fifo valid. this bit is only used for in endpoints. if the fifo valid mode bit is set and there are fewer than epnpktsiz bytes in the fifo, the NET2890 will respond to in tokens with nak handshake unless this bit is set. setting this bit causes the data in the fifo to be returned to the host as a short packet. setting this bit when the fifo is empty causes a zero-length packet to be returned. this bit is automatically cleared when a short (fewer than epnpktsiz) packet is transmitted to the host pc. (see epnpktsiz registers). yes yes/set 0 6 reserved yes no 0 5 fifo overflow. if set, this bit indicates that an attempt was made to write to the fifo when the fifo was full. writing a 1 clears this bit. yes yes/clr 0 4 fifo underflow. if set, this bit indicates that an attempt was made to read the fifo when the fifo was empty. writing a 1 clears this bit. yes yes/clr 0 3 fifo full. if set, this bit indicates that the fifo is full. yes no 0 2 fifo empty. if set, this bit indicates that the fifo is empty. yes no 1 1:0 reserved yes no 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 48 5.5 setup registers the setup registers are dedicated to storing an 8-byte setup packet received by endpoint 0. 5.5.1 (address 10h; setup0) setup byte 0 bits description read write default value 7:0 setup byte 0. this port provides byte 0 of the last setup packet received. for a standard device request, the following bmrequesttype information is returned: bit description 7 direction: 0 = host to device; 1 = device to host 6:5 type: 0 = standard, 1 = class, 2 = vendor, 3 = reserved 4:0 recipient: 0 = device, 1 = interface, 2 = e ndpoint, 3 = other, 4-31 = reserved yes no 0 5.5.2 (address 11h; setup1) setup byte 1 bits description read write default value 7:0 setup byte 1. this port provides byte 1 of the last setup packet received. for a standard device request, the following brequest code information is returned: code description 00h get status 01h clear feature 02h reserved 03h set feature 04h reserved 05h set address 06h get descriptor 07h set descriptor 08h get configuration 09h set configuration 0ah get interface 0bh set interface 0ch synch frame yes no 0 5.5.3 (address 12h; setup2) setup byte 2 bits description read write default value 7:0 setup byte 2. this port provides byte 2 of the last setup packet received. for a standard device request, the least significant byte of the wvalue field is returned. yes no 0 5.5.4 (address 13h; setup3) setup byte 3 bits description read write default value 7:0 setup byte 3. this port provides byte 3 of the last setup packet received. for a standard device request, the most significant byte of the wvalue field is returned. yes no 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 49 5.5.5 (address 14h; setup4) setup byte 4 bits description read write default value 7:0 setup byte 4. this port provides byte 4 of the last setup packet received. for a standard device request, the least significant byte of the windex field is returned. yes no 0 5.5.6 (address 15h; setup5) setup byte 5 bits description read write default value 7:0 setup byte 5. this port provides byte 5 of the last setup packet received. for a standard device request, the most significant byte of the windex field is returned. yes no 0 5.5.7 (address 16h; setup6) setup byte 6 bits description read write default value 7:0 setup byte 6. this port provides byte 6 of the last setup packet received. for a standard device request, the least significant byte of the wlength field is returned. yes no 0 5.5.8 (address 17h; setup7) setup byte 7 bits description read write default value 7:0 setup byte 7. this port provides byte 7 of the last setup packet received. for a standard device request, the most significant byte of the wlength field is returned. yes no 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 50 5.6 indexed registers 5.6.1 (index 00h; localctl) local bus control bits description read write default value 7:2 reserved. yes no 0 1:0 local clock output. this field controls the frequency of the lclk pin. 0 = 48 mhz clock derived from the internal oscillator 1 = 24 mhz clock derived from the internal oscillator 2 = 12 mhz clock derived from the internal oscillator 3 = stopped yes yes 0 5.6.2 (index 01h; ouraddr) our usb address register bits description read write default value 7 reserved. yes no 0 6:0 our usb address. after the local cpu has successfully completed the status phase of a set address request from the host, it writes the new device address into this register. this register is cleared when a root port reset is detected yes yes 0 note: when a set address command is sent from the host, the local cpu must write the new device address into the ouraddr configuration register. 5.6.3 (index 02h; irqenb1) interrupt enable register 1 bits description read write default value 7 sof interrupt enable. when set, this bit enables a local interrupt to be generated when a start-of-frame packet is received by the net 2890. yes yes 0 6:5 reserved yes no 0 4 endpoint d interrupt enable. when set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. yes yes 0 3 endpoint c interrupt enable. when set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. yes yes 0 2 endpoint b interrupt enable. when set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. yes yes 0 1 endpoint a interrupt enable. when set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. yes yes 0 0 endpoint 0 interrupt enable. when set, this bit enables a local interrupt to be set when an interrupt is active on this endpoint. yes yes 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 51 5.6.4 (index 03h; irqenb2) interrupt enable register 2 bits description read write default value 7 control status interrupt enable. when set, this bit enables a local interrupt to be generated when an in or out token indicating control status has been received. yes yes 0 6 setup packet interrupt enable. when set, this bit enables a local interrupt to be generated when a setup packet has been received from the host. yes yes 0 5 input pin change interrupt enable. when set, this bit enables a local interrupt to be generated when a change has been detected on either the buspwr# or pwrgood# pins. yes yes 0 4 reserved. yes no 0 3 eot interrupt enable. when set, this bit enables a local interrupt to be generated when an eot# signal is received from the dma controller. yes yes 0 2 root port reset interrupt enable. when set, this bit enables a local interrupt to be generated when a root port reset is detected. yes yes 0 1 suspend request interrupt enable. when set, this bit enables a local interrupt to be generated when the usb host is requesting the NET2890 to enter suspend mode. yes yes 0 0 resume interrupt enable. when set, this bit enables a local interrupt to be generated when a device resume has been detected. yes yes 0 5.6.5 (index 07h; framelsb) frame counter (lsb) bits description read write default value 7:0 frame counter lsb. this field contains the least-significant bits of the frame counter from the most r ecent start-of-frame packet. yes no 0 5.6.6 (index 08h; framemsb) frame counter (msb) bits description read write default value 7:4 reserved. yes no 0 3 fast times . when this bit is set, the frame counter operates at a fast speed for testing purposes only. yes yes 0 2:0 frame counter msb. this field contains the most-significant bits of the frame counter from the most r ecent start-of-frame packet. yes no 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 52 5.6.7 (index 0ch; diag) diagnostic register bits description read write default value 7:4 reserved yes no 0 3 simulated disconnect. when this bit is set, the NET2890 will drive the usb data lines to the ?disconnected? state. the local cpu should ensure that this bit is set for at least 3 milliseconds to simulate a proper disconnect event. yes yes 0 2 force receive error. when this bit is set, an error is forced on the next received data packet. as a result, the packet will not be acknowledged. this bit is automatically cleared at the end of the next packet. yes yes/set 0 1 prevent transmit bit-stuff. when this bit is set, normal bit-stuffing is suppressed during the next transmitted data packet. this will cause a bit-stuffing error when six or more consecutive bits of ?1? are in the data stream. this bit is automatically cleared at the end of the next packet. yes yes/set 0 0 force transmit crc error. when this bit is set, a crc error is forced on the next transmitted data packet. the crc error is generated by inverting the most significant bit of the calculated crc. this bit is automatically cleared at the end of the next packet. yes yes/set 0 5.6.8 (index 10h; ep0pktsizlsb) ep0 max packet size (lsb) bits description read write default value 7:0 ep0 max packet size lsb. this field provides the least significant bits of the endpoint 0 maximum packet size. yes yes 8 5.6.9 (index 12h; epapktsizlsb) epa max packet size (lsb) bits description read write default value 7:0 epa max packet size lsb. this field provides the least significant bits of the endpoint a maximum packet size. yes yes 64 5.6.10 (index 13h; epapktsizmsb) epa max packet size (msb) bits description read write default value 7:2 reserved yes no 0 1:0 epa max packet size msb. this field provides the most significant bits of the endpoint a maximum packet size. yes yes 0 5.6.11 (index 14h; epbpktsizlsb) epb max packet size (lsb) bits description read write default value 7:0 epb max packet size lsb. this field provides the least significant bits of the endpoint b maximum packet size. yes yes 64
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 53 5.6.12 (index 15h; epbpktsizmsb) epb max packet size (msb) bits description read write default value 7:2 reserved yes no 0 1:0 epb max packet size msb. this field provides the most significant bits of the endpoint b maximum packet size. yes yes 0 5.6.13 (index 16h; epcpktsizlsb) epc max packet size (lsb) bits description read write default value 7:0 epc max packet size lsb. this field provides the least significant bits of the endpoint c maximum packet size. yes yes 64 5.6.14 (index 17h; epcpktsizmsb) epc max packet size (msb) bits description read write default value 7:2 reserved yes no 0 1:0 epc max packet size msb. this field provides the most significant bits of the endpoint c maximum packet size. yes yes 0 5.6.15 (index 18h; epdpktsizlsb) epd max packet size (lsb) bits description read write default value 7:0 epd max packet size lsb. this field provides the least significant bits of the endpoint d maximum packet size. yes yes 64 5.6.16 (index 19h; epdpktsizmsb) epd max packet size (msb) bits description read write default value 7:2 reserved yes no 0 1:0 epd max packet size msb. this field provides the most significant bits of the endpoint d maximum packet size. yes yes 0 5.6.17 (index 20h; f0_aeth) fifo 0 almost empty threshold register bits description read write default value 7:5 reserved yes no 0 4:0 fifo almost empty threshold. this register determines the threshold at which the fifo almost empty status bit is set. the threshold is in terms of bytes. for endpoint 0, this value can range from 0 to 16. yes yes 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 54 5.6.18 (index 22h; f0_afth) fifo 0 almost full threshold register bits description read write default value 7:5 reserved yes no 0 4:0 fifo almost full threshold. this register determines the threshold at which the fifo almost full status bit is set. the threshold is in terms of bytes. for endpoint 0, this value can range from 0 to 16. yes yes 0 5.6.19 (index 24h; fa_aeth) fifo a almost empty threshold register bits description read write default value 7:0 fifo almost empty threshold. this register determines the threshold at which the fifo almost empty status bit is set. the threshold is in terms of bytes yes yes 0 5.6.20 (index 26h; fa_afth) fifo a almost full threshold register bits description read write default value 7:0 fifo almost full threshold. this register determines the threshold at which the fifo almost full status bit is set. the threshold is in terms of bytes. yes yes 0 5.6.21 (index 28h; fb_aeth) fifo b almost empty threshold register bits description read write default value 7:0 fifo almost empty threshold. this register determines the threshold at which the fifo almost empty status bit is set. the threshold is in terms of bytes yes yes 0 5.6.22 (index 2ah; fb_afth) fifo b almost full threshold register bits description read write default value 7:0 fifo almost full threshold. this register determines the threshold at which the fifo almost full status bit is set. the threshold is in terms of bytes. yes yes 0 5.6.23 (index 2ch; fc_aeth) fifo c almost empty threshold register bits description read write default value 7:0 fifo almost empty threshold. this register determines the threshold at which the fifo almost empty status bit is set. the threshold is in terms of bytes yes yes 0 5.6.24 (index 2eh; fc_afth) fifo c almost full threshold register bits description read write default value 7:0 fifo almost full threshold. this register determines the threshold at which the fifo almost full status bit is set. the threshold is in terms of bytes. yes yes 0
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 55 5.6.25 (index 30h; fd_aeth) fifo d almost empty threshold register bits description read write default value 7:0 fifo almost empty threshold. this register determines the threshold at which the fifo almost empty status bit is set. the threshold is in terms of bytes yes yes 0 5.6.26 (index 32h; fd_afth) fifo d almost full threshold register bits description read write default value 7:0 fifo almost full threshold. this register determines the threshold at which the fifo almost full status bit is set. the threshold is in terms of bytes. yes yes 0 5.6.27 (index ffh; revision) revision register bits description read write default value 7:0 chip revision. this register returns the current silicon revision number of the NET2890. yes no current revision
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 56 6. standard device requests standard device requests must be supported by endpoint 0. see also chapter 9, usb specification. the local bus cpu decodes the setup packets for endpoint 0 and generates a response based on the following tables. table 6-1: standard request codes brequest value get_status 0 clear_feature 1 reserved 2 set_feature 3 reserved 4 set_address 5 get_descriptor 6 set_descriptor 7 get_configuration 8 set_configuration 9 get_interface ah set_interface bh synch_frame ch table 6-2. descriptor types descriptor types value device 1 configuration 2 string 3 interface 4 endpoint 5
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 57 6.1 control ?read? transfers 6.1.1 get device status offset number of bytes description suggested value 0 2 bits 15:2 = reserved bit 1 = device remote wakeup enabled bit 0 = device is operating in self-powered mode. 6.1.2 get interface status offset number of bytes description suggested value 0 2 bits 15:0 = reserved 0000h 6.1.3 get endpoint status offset number of bytes description suggested value 0 2 bits 15:1 = reserved bit 0 = endpoint is stalled 0000h 6.1.4 get device descriptor (18 bytes) offset number of bytes description suggested value 0 1 length 12h 1 1 type (device) 2 2 usb specification release number 0100h 4 1 class code 5 1 sub class code 6 1 protocol 7 1 maximum endpoint 0 packet size 10h 8 2 vendor id 0525h 10 2 product id 2890h 12 2 device release number 14 1 index of string descriptor describing manufacturer 01h 15 1 index of string descriptor describing product 02h 16 1 index of string descriptor describing serial number 00h 17 1 number of configurations
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 58 6.1.5 get configuration descriptor (55 bytes) the NET2890 can support a variety of configurations, interfaces, and endpoints, each of which is defined by the descriptor data returned to the host. the local cpu has the responsibility of providing this data to the NET2890 when the host requests it. this example has one configuration, and two interfaces, each with two endpoints. the first interface defines one bulk out endpoint at address 1 with maximum packet size of 8 and one interrupt in endpoint at address 82h (endpoint number = 2) with a maximum packet size of 8. the second interface defines one bulk out endpoint at address 3 with maximum packet size of 64 and one bulk in endpoint at address 84h (endpoint number = 4) with a maximum packet size of 64. note that all interface and endpoint descriptors are returned in response to a get configuration descriptor request. offset number of bytes description suggested value configuration descriptor 0 1 length 09h 1 1 type (configuration) 02h 2 2 total length returned for this configuration 0037h 4 1 number of interfaces 02h 5 1 number of this configuration 01h 6 1 index of string descriptor describing this configuration 00h 7 1 attributes bit 7 = bus powered bit 6 = self-powered bit 5 = remote-wakeup bits 4:0 = reserved 8 1 maximum usb power required (in 2 ma units) interface 0 descriptor 0 1 size of this descriptor in bytes 09h 1 1 type (interface) 04h 2 1 number of this interface 00h 3 1 alternate interface 00h 4 1 number of endpoints used by this interface (excluding endpoint 0) 02h 5 1 class code 00h 6 1 sub class code 00h 7 1 device protocol 00h 8 1 index of string descriptor describing this interface 00h
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 59 get configuration descriptor (continued) offset number of bytes description suggested value out endpoint 1 descriptor 0 1 size of this descriptor 07h 1 1 descriptor type (endpoint) 05h 2 1 endpoint address bit 7 = direction (1 = in, 0 = out) bits 6:4 = reserved bits 3:0 = endpoint number 01h 3 1 endpoint attributes bits 7:2 = reserved bits 1:0 00 = control 01 = isochronous 10 = bulk 11 = interrupt 02h 4 2 maximum packet size of this endpoint 0008h 6 1 interval for polling endpoint (not used) 00h in endpoint 2 descriptor 0 1 size of this descriptor 07h 1 1 descriptor type (endpoint) 05h 2 1 endpoint address bit 7 = direction (1 = in, 0 = out) bits 6:4 = reserved bits 3:0 = endpoint number 82h 3 1 endpoint attributes bits 7:2 = reserved bits 1:0 00 = control 01 = isochronous 10 = bulk 11 = interrupt 03h 4 2 maximum packet size of this endpoint 0008h 6 1 interval for polling endpoint interface 1 descriptor 0 1 size of this descriptor in bytes 09h 1 1 type (interface) 04h 2 1 number of this interface 01h 3 1 alternate interface 00h 4 1 number of endpoints used by this interface (excluding endpoint 0) 02h 5 1 class code 00h 6 1 sub class code 00h 7 1 device protocol 00h 8 1 index of string descriptor describing this interface 00h
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 60 get configuration descriptor (continued) offset number of bytes description suggested value out endpoint 3 descriptor 0 1 size of this descriptor 07h 1 1 descriptor type (endpoint) 05h 2 1 endpoint address bit 7 = direction (1 = in, 0 = out) bits 6:4 = reserved bits 3:0 = endpoint number 03h 3 1 endpoint attributes bits 7:2 = reserved bits 1:0 00 = control 01 = isochronous 10 = bulk 11 = interrupt 02h 4 2 maximum packet size of this endpoint for bulk mode 0040h 6 1 interval for polling endpoint 00h in endpoint 4 descriptor 0 1 size of this descriptor 07h 1 1 descriptor type (endpoint) 05h 2 1 endpoint address bit 7 = direction (1 = in, 0 = out) bits 6:4 = reserved bits 3:0 = endpoint number 84h 3 1 endpoint attributes bits 7:2 = reserved bits 1:0 00 = control 01 = isochronous 10 = bulk 11 = interrupt 02h 4 2 maximum packet size of this endpoint for bulk mode 0040h 6 1 interval for polling endpoint 00h 6.1.6 get string descriptor 0 offset number of bytes description suggested value 0 4 language id (english = 09, u.s. = 04) 04h, 03h, 0409h 6.1.7 get string descriptor 1 offset number of bytes description suggested value 0 38 manufacturer descriptor. the text string is encoded in unicode. 26h, 03h, ?netchip technology?
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 61 6.1.8 get string descriptor 2 note: strings are encoded using unicode. offset number of bytes description suggested value 0 66 product descriptor. the text string is encoded in unicode. 42h, 03h, ?NET2890 usb interface controller? 6.1.9 get configuration offset number of bytes description suggested value 0 1 returns current device configuration 00h or currently selected configuration. 6.1.10 get interface offset number of bytes description suggested value 0 1 returns current alternate setting for the specified interface 00h or currently selected interface. 6.2 control ?write? transfers 6.2.1 set address offset number of bytes description suggested value -- 0 sets usb address of device value = device address, index = 0 -- note: when a set address command is sent from the host, the local cpu must write the new device address into the ouraddr configuration register. 6.2.2 set configuration offset number of bytes description suggested value -- 0 sets the device configuration value = configuration value -- 6.2.3 set interface offset number of bytes description suggested value -- 0 selects alternate setting for specified interface value = alternate setting, index = specified interface --
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 62 6.2.4 device clear feature offset number of bytes description suggested value -- 0 clear the selected device feature value = feature selector fs = 1 --> device remote wakeup (disable) -- 6.2.5 device set feature offset number of bytes description suggested value -- 0 set the selected device feature value = feature selector fs = 1 --> device remote wakeup (enable) -- 6.2.6 endpoint clear feature offset number of bytes description suggested value -- 0 clear the selected endpoint feature value = feature selector, index = endpoint number fs = 0 --> endpoint stall (clears stall bit) -- 6.2.7 endpoint set feature offset number of bytes description suggested value -- 0 set the selected endpoint feature value = feature selector, index = endpoint number fs = 0 --> endpoint stall (sets stall bit) --
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 63 7. electrical specifications 7.1 absolute maximum ratings conditions that exceed the absolute maximum limits may destroy the device. symbol parameter conditions min max unit v ddc core/usb supply voltage with respect to ground -0.5 4.6 v v ddl local supply voltage (+5v) with respect to ground -0.5 7.0 v v i dc input voltage with respect to ground -0.5 v dd +0.5 v i out dc output current, per pin -25 25 ma t stg storage temperature no bias -65 150 c t amb ambient temperature under bias -65 150 c p d power dissipation under bias mw v esd esd rating r = 1.5k, c = 100pf 2 kv 7.2 recommended operating conditions conditions that exceed the operating limits may cause the device to function incorrectly. symbol parameter conditions min max unit v ddc core/usb supply voltage 3.0 3.6 v v ddl local bus supply voltage 5.0v operation 4.75 5.25 v v ddl local bus supply voltage 3.3v operation 3.0 3.6 v v ih high level input voltage 2 v v il low level input voltage 0.8 v v i input voltage 0 v ddl v v o output voltage 0 v ddl v i oh high level output current -8 ma i ol low level output current 8 ma t a operating temperature 0 70 c t r input rise time 1 10 ns/v t f input fall time 1 10 ns/v
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 64 7.3 dc specifications 7.3.1 core dc specifications operating conditions: v ddc : 3.3v 5%, t a = 0 c to 70 c all typical values are at v ddc = 3.3v and t a = 25 c operating conditions: notes 1, 2, 9. symbol parameter conditions min typ max unit i ddc v ddc supply current v ddc = 3.3v 45 60 ma i ddcs v ddc supply current (suspend) device suspended 1 10 a t j junction temperature under bias c 7.3.2 usb port dc specifications operating conditions: v ddc : 3.3v 5%, t a = 0 c to 70 c all typical values are at v ddc = 3.3v and t a = 25 c operating conditions: notes 1,2. symbol parameter conditions min typ max unit v di differential input sensitivity | (d+) - (d-) | 0.2 v v cm differential common mode range includes vdi range 0.8 2.5 v v se single ended receiver threshold 0.8 2.0 v v oh static output high rl of 15 k ? to gnd 2.8 3.6 v v ol static output low rl of 1.5 k ? to 3.6v 0.3 v i lo hi-z state data line leakage 0v < v in < 3.3v -10 +10 a c io i/o capacitance pin to gnd 20 pf
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 65 7.3.3 local bus (+3.3v) dc specifications operating conditions: v ddl : 3.3v 5%, t a = 0 c to 70 c all typical values are at v ddl = 3.3v and t a = 25 c operating conditions: note 9 symbol parameter conditions min typ max unit v oh output high voltage i oh = -8ma 2.0 v v ol output low voltage i ol = 8ma 0.4 v i ih input high leakage v ih = 3.3v 10 a i il input low leakage v il = 0v 10 a i oz hi-z state data line leakage 0v < v in < 3.3v -10 +10 a i ddls v ddl supply current (suspend) device suspended 1 10 a i ddl v ddl supply current v ddc = 3.3v 610 ma c io i/o capacitance pin to gnd 5 pf c in input capacitance pin to gnd 10 pf 7.3.4 local bus (+5.0v) dc specifications operating conditions: v ddl : 5.0v 5%, t a = 0 c to 70 c all typical values are at v ddl = 5.0v and t a = 25 c operating conditions: note 9 symbol parameter conditions min typ max unit v oh output high voltage i oh = -8ma 4.0 v v ol output low voltage i ol = 8ma 0.4 v i ih input high leakage v ih = 5.0v 10 a i il input low leakage v il = 0v 10 a i oz hi-z state data line leakage 0v < v in < 5.0v -10 +10 a i ddls v ddl supply current (suspend) device suspended 1 10 a i ddl v ddl supply current v ddc = 3.3v 815 ma c io i/o capacitance pin to gnd 5 pf c in input capacitance pin to gnd 10 pf
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 66 7.4 ac specifications 7.4.1 usb port ac specifications operating conditions: v dd : 3.3v 5%, t a = 0 c to 70 c all typical values are at v dd = 3.3v and t a = 25 c operating conditions: notes 1,2,3. symbol parameter conditions waveform min typ max unit t r rise & fall times c l = 50 pf figure 8-1 4 20 ns t f notes 4,5 4 20 t rfm rise/fall time matching (t r/ t f ) figure 8-1 90 110 % v crs output signal crossover voltage 1.3 2.0 v z drv driver output resistance steady state drive 10 15 ? t drate data rate 11.97 12 12.03 mbs t ddj1 source differential driver jitter to next transition notes 6,7 figure 8-2 -3.5 0 3.5 ns t ddj2 source differential driver jitter for paired transitions notes 6,7 figure 8-2 -4.0 0 4.0 ns t deop differential to eop transition skew note 7 figure 8-3 -2 0 5 ns t eopt source eop width note 7 figure 8-3 160 167 175 ns t jr1 receiver data jitter tolerance to next transition note 7 figure 8-4 -18.5 0 18.5 ns t jr2 receiver data jitter tolerance for paired transitions note 7 figure 8-4 -9 0 9 ns t eopr1 eop width at receiver; must reject as eop note 7 figure 8-3 40 ns t eopr2 eop width at receiver; must accept as eop note 7 figure 8-3 80 ns
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 67 7.4.2 usb port ac/dc specification notes 1. all voltages measured from the local ground potential, unless otherwise specified. 2. all timings use a capacitive load (c l ) to ground of 50 pf, unless otherwise specified. 3. full speed timings have a 1.5 k ? pull-up to 3.3 v on the d+ data line. 4. measured from 10% to 90% of the data signal. 5. the rising and falling edges should be smoothly transitioning (monotonic). 6. timing difference between the differential data signals. 7. measured at crossover point of differential data signals. 8. the maximum load specification is the maximum effective capacitive load allowed that meets the target hub v bus droop of 330 mv. 9. v ddc and i ddc refer to core power supply (pins designated v dd ). v ddl and i ddl refer to local bus power supply (pins designated v ddl(local) ). 7.4.3 usb port ac waveforms differential data lines 90% 10% 90% 10% rise time fall time t r t f c l c l full speed: 4 to 20ns at c l = 50pf figure 7-1. data signal rise and fall time
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 68 crossover points t period differential data lines consecutive transitions n*t period +t xjr1 paired transitions n*t period +t xjr2 figure 7-2. differential data jitter crossover point t period differential data lines diff. data to se0 skew n*t period +t deop crossover point extended source eop width: t eopt receiver eop width: t eopr1 , t eopr2 figure 7-3. differential to eop transition skew and eop width t period differential data lines t jr t jr1 t jr2 consecutive transitions n*t period +t jr1 paired transitions n*t period +t jr2
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 69 figure 7-4. receiver jitter tolerance 7.4.4 local bus write to register name description min max unit t1 address setup to write enable* 5 ns t2 address hold from end of write enable* 0 ns t3 write enable width* 5 ns t5 data setup to end of write enable* 5 ns t6 data hold time from end of write enable* 0 ns t7 i/o recovery time to next read or write 64 ns * write enable is the occurrence of both iow# and cs#. t2 t2 t1 t3 t5 t1 t7 t3 t5 t6 t6 0ns 25ns 50ns 75ns 100ns a[4:0] iow #/cs# d[7:0]
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 70 7.4.5 local bus read from register name description min max unit t1 address setup to read enable* 5 ns t2 address hold from end of read enable* 0 ns t4 data access time from read enable* 28 ns t5 data tri-state time from end of read enable* 0 10 ns t6 i/o recovery time to next read or write 42 ns * read enable is the occurrence of both ior# and cs# t2 t2 t1 t1 t6 t4 t5 t4 t5 a0 a1 d0 d1 0ns 25ns 50ns 75ns 100ns 125ns a[4:0] ior#/cs# d[7:0]
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 71 7.4.6 dma write to fifo name description min max unit t1 drq false from write enable true 42 64 ns t2 write enable false to drq true 60 ns t3 write enable width 25 ns t5 data setup to end of write enable 5 ns t6 data hold time from end of write enable 0 ns t7 width of eot# pulse (see note) 25 ns * write enable is the occurrence of both iow# and dack#. note: eot#, iow#, and dack# must all be true for at least t7 for proper recognition of the eot# pulse. t1 t2 t1 t3 t5 t3 t5 t6 t6 t7 d0 d1 0ns 50ns 100ns 150ns 200ns drq io w #/dack# d[7:0] eot#
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 72 7.4.7 dma read from fifo name description min max unit t1 drq false from read enable true 42 64 ns t2 read enable false to drq true 60 ns t9 read enable width 25 ns t4 data access time from read enable 23 ns t5 data hold time from end of read enable 0 10 ns t6 width of eot# pulse (see note) 25 ns * read enable is the occurrence of both ior# and dack#. note: eot#, ior#, and dack# must all be true for at least t6 for proper recognition of the eot# pulse. t1 t2 t1 t9 t9 t4 t5 t4 t5 t6 d0 d1 0ns 50ns 100ns 150ns 200ns drq ior#/dack# d[7:0] eot#
specification NET2890 usb interface controller ____________________________________________________________________________________ netchip technology, inc., 1999 335 pioneer way, mountain view, california 94041 tel (650) 526-1490 fax (650) 526-1494 http://www.netchip.com rev 2.0, draft 9, july 16, 1999 73 8. mechanical drawing 1 12 13 24 25 36 37 48 7 0.1 9 0.4 7 0.1 9 0.4 0.5 0.18 +0.1 -0.05 index 1.7 max 1.4 0.1 0.1 1 0.5 0.2 0.125 0.05 0 o 10 o all dimensions in millimeters.


▲Up To Search▲   

 
Price & Availability of NET2890

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X